• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

How does TSX affect the monolithic vs micro kernel debate?

Status
Not open for further replies.
I don't really think it changes the scope of the problem very much. MicroKernels still need to copy between the different memory spaces and while it might make the locking more efficient because we assume it works unless it doesn't it wont change the fundamental performance problems of separate memory spaces within the OS privileged memory area. The time penalty is not really the locking but the switches of context and memory copy time.

Many years ago someone (Anandtech I think) did an Oracle database performance test on Mac OS and Windows (both same hardware) and concluded that while almost everything else seemed OK the IO performance of Mac OS was considerably down. This is one of the consequences of a micro kernel architecture, the small IOs cause considerably buffer copying and latency and it knocks onto the performance of the application. Linux on the other hand applies a bundle of tricks to ensure its all copied the minimum number of times.
 
I don't really think it changes the scope of the problem very much. MicroKernels still need to copy between the different memory spaces and while it might make the locking more efficient because we assume it works unless it doesn't it wont change the fundamental performance problems of separate memory spaces within the OS privileged memory area. The time penalty is not really the locking but the switches of context and memory copy time.

Many years ago someone (Anandtech I think) did an Oracle database performance test on Mac OS and Windows (both same hardware) and concluded that while almost everything else seemed OK the IO performance of Mac OS was considerably down. This is one of the consequences of a micro kernel architecture, the small IOs cause considerably buffer copying and latency and it knocks onto the performance of the application. Linux on the other hand applies a bundle of tricks to ensure its all copied the minimum number of times.

If you have the memory, flaunt it. :thumbsup:
 
How does the transactional synchronization affect how each approach allows processes to communicate etc?

It doesn't, really. The TSX extensions are meant for synchronization between threads of a single process. Any syscall immediately fails a transaction, so it cannot be used to synchronize things between the OS and different processes.

However, if it works in kernel space (and I don't know if it does), it could somewhat help the monolithic kernels because it would make synchronization that is unlikely to conflict cheaper within a monolithic kernel. Microkernels would not be able to make as much use of it because transactions fail when you cross process boundaries, and microkernels have more of those.
 
Status
Not open for further replies.
Back
Top