Wednesday, March 17, 2010

[uebqkfjw] Multithreaded processes and time

For single-threaded processes, if one blocks access to system time calls, they cannot internally know how long they take: thus, for example they cannot distinguish keyboard standard input from input redirection from a file. Other system calls may also need to be blocked.

Multithreaded processes can set up their own timers. They can have a greater awareness of its own execution and the computer it is executing on, possibly violating the user's privacy. This is a dangerous consequence not entirely obvious in switching to a multithreaded paradigm.  (Somewhat inspired by cryptographic side channel timing attacks.)

One possible solution is if one thread blocks for IO or memory, all threads are stopped.

No comments :