multithreading - java concurrency - Is Instruction Level Parallelism(ILP) used underhood -


concurrency in java or similar languages achieved through threads or task level parallelism. under hood hardware or run time use ilp achieve best performance.
little further elaboration: in multi core processor (say 4 per system) multiple threads (say 2 per core) ( i.e total 8 threads per system), java thread executed in 1 of several (8 in case) processor threads. if system determines or several other threads doing nothing staying ideal, can hardware or runtime legal re-orderings , execute them in other threads on same or other cores , fetch results back(or in main memory)
bothered java implementation allow or otherwise hardware handle independently out jvm knowing anything.

it's little unclear you're asking, don't think has java.

i think you're talking (at least) 2 different things:

  1. "ilp" used refer set of techniques occur within single core (such pipelining , branch prediction), , has little threading or multi-core. these techniques transparent implementation details of cpu, , typically not exposed in way (or runtime) can interact directly.

  2. threads swapped on , off cores kernel scheduler if become blocked (and if they're not, ensure fairness).


Comments