parallel computing and the os
https://dl.acm.org/doi/10.1145/2830903.2830911 https://www.youtube.com/embed/KZ9hm5AUmWU
- Minicomputers -> after timesharing
- parallel computing sort of dropped off with this
- logs and interrupts
- multiprocess parallelism sort of died
- client/server computing make IO concurrcy big
- must exploit I/O concurrency
- microkernel organizations
- User level services for I/O -> moves into microkernels, pthreads standard
- events vs threads
- no sharing of handlers, no locks, etc, CSP style
- most webservers today are events style
- john usterhat
- no sharing of handlers, no locks, etc, CSP style
- multiprocessors make a return, NUMA stuff becomes big again
- but uniprocessors performance keeps improving
- multicore processors come roaring back
- cores per processor increase yet again performance goes back up
- moore’s law is dead on single cores, but multi cores are back
make
, for example, increases and scale more- reading a cache line from a different core is expensive
- congestion on cache lines, but avoiding cache line sharing is challenging
- even a RW lock is expensive
- basically the only real optimization is to stop spraying your data structures everywhere
- RCU!
- writers must follow careful discipline
- phase 4? OS community? Commmodity chips? -> Cloud computing, map reduce, moving data is expensive, move compute
- shared memory locks have gotten better!
- parallelism ahs moved up the software stack driven by commodity hardware