How does TSX affect the monolithic vs micro kernel debate?

Status
Not open for further replies.

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
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.
 
May 11, 2008
22,551
1,471
126
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:
 

Tuna-Fish

Golden Member
Mar 4, 2011
1,672
2,546
136
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.