Io 在自定义c平台上运行的自定义c应用程序上优化性能

Io 在自定义c平台上运行的自定义c应用程序上优化性能,io,raid,solid-state-drive,Io,Raid,Solid State Drive,这个问题是软件和硬件相关问题的混合体 我有一个使用VS2010用c编写的定制应用程序,它需要一些高端硬件(该应用程序每分钟需要啃咬大约50 Gig的数据)。它在64位Win7下运行。 现在我有一个Dell t7500,带有双氙气5690芯片(每个十六进制核),因此有12个物理核和24个逻辑核。安装程序有48千兆内存,这是它所需要的,因为应用程序一次使用大约30-40千兆的数据 该应用程序是多线程的(看到所有24个逻辑内核都以100%的速度最大化是一件美妙的事情!),因此它已经从cpu绑定转变为i

这个问题是软件和硬件相关问题的混合体

我有一个使用VS2010用c编写的定制应用程序,它需要一些高端硬件(该应用程序每分钟需要啃咬大约50 Gig的数据)。它在64位Win7下运行。 现在我有一个Dell t7500,带有双氙气5690芯片(每个十六进制核),因此有12个物理核和24个逻辑核。安装程序有48千兆内存,这是它所需要的,因为应用程序一次使用大约30-40千兆的数据

该应用程序是多线程的(看到所有24个逻辑内核都以100%的速度最大化是一件美妙的事情!),因此它已经从cpu绑定转变为io绑定。(在我将应用程序重写为多线程之前,数据回加载大约需要36个小时;现在大约需要1.5个小时,但我仍然需要将时间缩短到15分钟以下)

我能够修改软件,使其能够利用多驱动器配置

我可以在24个核之间分配io工作。我需要大约3 TB的存储空间。尽管不切实际,但最好的方案是使用48个单独的SSD,以便运行的24个线程中的每个线程都有自己的专用驱动器进行读写操作吗?(该应用程序不会进行大量的小文件读/写操作,而是以1-2 GB的数据块进行读/写操作。)

假设不可能在单个系统上获得这么多驱动器,那么这种设置在驱动器数量方面有什么限制?我在t7500主板上有5个插槽。什么样的控制器/配置在这里最快?萨塔?SCSI?Raid 0?
或者我可以在软件中做一些事情,使很多硬件问题变得不那么重要?
谢谢

我发现你可以使用许多可拆卸的3tb usb驱动器。

与编程无关-试试看?我很困惑。不管怎样,你用什么每分钟获得50Gb的数据?还是数据是静态的?惑儒:如果数据是静态的,每分钟重复同一个程序有什么用?这对我来说太奇怪了;如果是数字运算(风格),就不需要“实时”,如果是“实时”,数据量几乎不需要这么大。除非你是,但我打赌他们不会发帖here@PaulR:我建议程序员。*或服务器故障。*而不是“与编程无关”。我不敢苟同。我在征求关于如何优化软件程序性能的建议,Tshe,它或多或少都是50 GB的原始数据,但实际上有数以万亿计的排列必须创建,然后重新创建。比我的头脑好得多的人完成了大局。