Breakout Session 3 Alex, Mirco, Vojtech, Juraj, Christoph Correct Measurement Breakout Session 3 Alex, Mirco, Vojtech, Juraj, Christoph
Our Dream With a certain usage profile we want to predict the optimal number of cores for a multi threaded application from the measurements taken from a single core! What kind of measurement do we need? Service Demands? Response Time? CPU Utilization? Memory Access pattern? …?
Questions Difference between multi-core and single-core multi-threaded systems? Difference between multi-core and distributed systems?
Overhead (not exhaustive) Assumption for our discussion: 2 Threads on 1 Core vs. 4 Threads on 2 Cores Single Core Multi-Threaded Multi-Core Multi-Threaded Cache Penalties Cache Misses Context Switching Synchronization (High Level Locks) …
What to measure on multi-core? Memory reads/writes [e.g. Bytes] (can we?) Energy Consumption (CPU utilization) -> all comes down to memory access and caches within the discussion Memory behaviour of an application? Scheduling overhead? Not easy to point out what is really important
Conclusion We have to take care in evaluating the memory behaviour more than in a general distributed system What has already been done in system research w.r.t. our question? No general solution, everything has to be tailored to the goal and application Usage profile matters most (Use Linux (more transperency) OS for measurements)