parallel computing and the os [3db6ebce]
https://dl.acm.org/doi/10.1145/2830903.2830911 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
-
-
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