Your SlideShare is downloading. ×
0
How to use many core CPUs, Константин Серебряный
How to use many core CPUs, Константин Серебряный
How to use many core CPUs, Константин Серебряный
How to use many core CPUs, Константин Серебряный
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

How to use many core CPUs, Константин Серебряный

1,019

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,019
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. How to use Many-core CPUs Roundtable: Google, Intel, Rambler, Yandex
  • 2. Threads ✔ Hard to program: ✔ Correctness ✔ Performance ✔ Unavoidable: 8 or 16 cores is commodity ✔ Alternatives: ✔ Message passing – slow ✔ Shared memory – even harder, usually no benefits
  • 3. Correctness ✔ Deadlocks ✔ C++: custom Mutex w/ builtin deadlock detector ✔ C++: static analysis (gcc plugin, opensourse) ✔ Java: run-time detector ✔ Races ✔ C++: run-time detector: ThreadSanitizer (Valgrind) ✔ Linux, Windows, Mac; opensource ✔ Java: ThreadSanitizer (beta)
  • 4. Performance ✔ Contension (threads compete for shared resource) ✔ Custom Mutex w/ contention profiling and web interface ✔ Cache locality (no ping-ponging between threads) ✔ Custom malloc (TCMalloc, opensource) ✔ Profiling: mostly PMU-based ✔ Oprofile, perfmon, google perf tools (opensource)

×