Why is a multi-threaded Java program not accelerated on a “super” Linux server and a Win7 laptop?

Introduction

So far I have been working on the piece of software that I am currently testing to see the benefits of concurrency. I am testing the same software using two different systems:

  • System 1: 2 x Intel (R) Xeon (R) CPU E5-2665 @ 2.40 GHz with only 16 cores, 64 GB RAM Scientific LINUX 6.1 and JAVA SE Runtime Enviroment (build 1.7.0_11-b21).
  • System 2 Lenovo Thinkpad T410 with Intel i5 processor with a frequency of 2.67 GHz with 4 cores, 4 GB of operating windows 7 64-bit and JAVA SE Runtime Enviroment (build 1.7.0_11-b21).

Details: The program simulates patients with type 1 diabetes. It performs some import (reading from csv), some numerical calculations (Dopri54 + newton) and some export (Write to csv).

I have exclusive rights to the server, so there should be no noise at all.

Results These are my results:

S1

S2

Now, as you can see, system 1 is as fast as system 2, despite the fact that it is a fairly powerful machine. I have no idea why this is - and I'm sure the system is the same. The number of threads goes from 10-100.

Question:

Why do the two stages have the same run time, even though system 1 is significantly more powerful than system 2?

UPDATE!

, , , , -. , , , , ? 5, . , , , ?

+3
2

.csv, , , .

+3

, , - , , .

, , , .

, .

, .

.

- . , , . , , .

+1

All Articles