2010-08-27 66 views
0

我們運行一個我們已經運行多年的Fortran控制檯程序。最近,我們爲辦公室中的每個人購買了相同的新HP服務器級機器(4個處理器,8個gig ram,4個硬盤驅動器)。我們幾乎如我們所知地配置它們。我們可以在一臺機器上編譯Fortran程序,將可執行文件傳遞給不同的機器,並且在兩臺機器上執行的速度非常慢,而另外兩臺機器的性能適中(但不如從XP機器升級之前)。什麼是導致一臺Vista機器比另一臺機器快10倍?

它使用幾乎沒有控制檯輸出(約40行),但輸出大約15兆文件。

我們打開任務管理器,看看發生了什麼,我們看到在慢速的機器上它將一個CPU加載到大約15%。在快速的機器上,它將所有的CPU加載到大約40%(但其中一個似乎比其他加載更多)。據我所知,在XP上它將CPU加載到99%,運行得更快。

這些機器僱員的通用機器,並有很多公司英國媒體報道。有可能他們的目錄結構略有不同。但是令我感到困惑的是,Vista爲什麼不給他們更多的CPU時間。如果CPU加載完畢,我可能會將性能差異歸咎於不同的目錄結構,但是不會加載CPU只是讓我難以置信。

大衛

+0

我認爲這應該遷移到服務器故障或超級用戶,因爲它不是軟件的問題。我會假設服務器故障,因爲這些是公司機器? – 2010-08-27 14:46:38

+0

@Thomas,可能是一個簡單的多處理環境配置問題 - 可能是*超級用戶*。 – 2010-08-27 14:49:32

+0

可能是。或者它可能需要處理更高的事情。無論哪種方式,它不屬於這裏。 – 2010-08-27 14:55:22

回答

1

,如果有在IO瓶頸,CPU就不會被裝載儘可能多的,因爲它主要是等待IO發生。人們甚至可以想象,如果在另一個CPU中踢腳踢沒有意義,因爲在等待期間有足夠的時間,這會導致一個CPU與多個CPU的問題。如果您使用外部HD,並嘗試在不同機器上的HD上運行相同程序時是否也會出現差異,那該怎麼辦?

+0

好主意。我會試試看。 – 2010-08-27 20:26:39

0

Vista有一些無法控制的內存泄漏問題,也許這是您的錯誤,「英國媒體報道」中的某些衝突導致內存泄漏,所以您的Fortran程序運行速度如此之慢?

我假設你已經測試過所有程序結束了。你的控制檯程序似乎不太可能是問題所在。聽起來好像確實存在着內存衝突。

1

請進入Windows任務管理器,性能/ - 在[查看]選項中選擇:[核心時間]並查看程序執行期間在條上顯示的內容。

如果其僅15%負載上四+超線程盒,即基本上說,OpenMP的,MPI(或任何它使用) - 工作不正常 - 工程上/8 => 15 %。您可以針對您的特定系統運行MPI-test命令,以檢查每個盒子上的多重處理錯誤嗎?因此,問題將是 - 爲什麼多處理環境不起作用?

問候

RBO

+0

這是一箇舊的應用程序。它不會進行任何明確的MP調用,也不會使用任何類型的MP支持進行編譯,除了英特爾Fortran自動執行的操作(儘管我們將「並行化」設置爲「否」)。坦率地說,我很驚訝地看到它在任何一臺機器上使用全部4個處理器。我不明白爲什麼。它確實分配了(靜態的)一些真正巨大的陣列,也許英特爾Fortran正在研究這些並執行一些默認的負載分配。 – 2010-08-27 20:24:50

1

SWAG,但你檢查你的病毒掃描程序的配置?如果掃描器未設置爲忽略您在慢速機器上寫入的文件類型,則每個寫入這些文件的文件在寫入磁盤之前可能會被攔截並掃描。這可能導致進程處於I/O等待狀態,而不是經常進行調度。

+0

我還沒有檢查,但是,病毒掃描器吸取CPU週期大的時間。如果這是問題,我想我們會看到很多CPU活動。 好想過壽。謝謝。我會要求IT檢查病毒配置。 – 2010-08-27 20:15:44

相關問題