We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Hardware/Software Co-Design for Efficient Microkernel Execution

00:00

Formal Metadata

Title
Hardware/Software Co-Design for Efficient Microkernel Execution
Title of Series
Number of Parts
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
While the performance overhead of IPC in microkernel multiserver operating systems is no longer considered a blocker for their practical deployment (thanks to many optimization ideas that have been proposed and implemented over the years), it is undeniable that the overhead still does exist and the more fine-grained the architecture of the operating system is (which is desirable from the reliability, dependability, safety and security point of view), the more severe performance penalties due to the IPC overhead it suffers. A closely related issue is the overhead of handing hardware interrupts in user space device drivers. This talk discusses some specific hardware/software co-design ideas to improve the performance of microkernel multiserver operating systems. One reason for the IPC overhead is the fact that current hardware and CPUs were never designed with microkernel multiserver operating systems in mind, but they were rather fitted for the traditional monolithic operating systems. This calls for an out-of-the-box thinking while designing instruction set architecture (ISA) extensions and other hardware features that would support (a) efficient communication between isolated virtual address spaces using synchronous and asynchronous IPC primitives, and (b) treating object references (e.g. capability references) as first-class entities on the hardware level. A good testbed for evaluating such approaches (with the potential to be eventually adopted as industry standard) is the still unspecified RV128 ISA (128-bit variant of RISC-V). This talk discusses some specific hardware/software co-design ideas to improve the performance of microkernel multiserver operating systems.
SoftwareMikrokernelComputer hardwareSystem programmingForschungszentrum RossendorfKernel (computing)Sanitary sewerObservational studySpeicheradresseWebsiteStatement (computer science)BefehlsprozessorAtomic nucleusPhysical systemBranch (computer science)Process (computing)InterprozesskommunikationControl flowFunction (mathematics)Enterprise architectureOperations researchCycle (graph theory)EmulatorBefehlsprozessorPower (physics)Computer hardwareData recoveryPhysical systemComputerMikrokernelVirtual realityMultiplication signMultiplicationKernel (computing)Group actionDomain nameVulnerability (computing)Form (programming)Vapor barrierProjective planeFormal verificationStatement (computer science)Internet service providerLink (knot theory)Point (geometry)Mechanism designDirection (geometry)Overhead (computing)Single-precision floating-point formatSpeichermodellEntire functionProper mapSoftwareInformation securityMemory managementCycle (graph theory)Operating systemDoubling the cubeCuboidAddress spaceRight angleInformationFormal grammarServer (computing)Special unitary groupSemiconductor memoryComputer animation
Kernel (computing)System callMikrokernelInterprozesskommunikationData structureRead-only memoryPointer (computer programming)SubsetSpeicheradresseAddress spaceWeb pageExtension (kinesiology)Message passingBefehlsprozessorStack (abstract data type)Cache (computing)TLB <Informatik>Buffer solutionLine (geometry)Maxima and minimaAerodynamicsOverhead (computing)Texture mappingStandard deviationMechanism designBefehlsprozessorShared memoryCycle (graph theory)Focus (optics)Translation (relic)System callEnterprise architecturePhysical systemContext awarenessFunctional (mathematics)Block (periodic table)Information securityMereologyInterprozesskommunikationKernel (computing)Computer hardwareLine (geometry)Semiconductor memoryWritingOperating systemBranch (computer science)MikrokernelAddress spaceSingle-precision floating-point formatBuffer solutionCodeFlow separationMemory managementMessage passingTask (computing)Limit (category theory)Cache (computing)Data structureAsynchronous Transfer ModeParameter (computer programming)Multiplication signLogic gateScheduling (computing)CASE <Informatik>Ocean currentMechanism designSpeicheradresseIdentifiabilityStack (abstract data type)Roundness (object)Network topologyGraph (mathematics)Similarity (geometry)CyberspaceTLB <Informatik>ImplementationDevice driverMathematical optimizationEmulatorSPARCCausalityTerm (mathematics)Model theory3 (number)Server (computing)BitGroup actionLevel (video gaming)Modal logicScattering2 (number)Process (computing)MultiplicationSoftwareLecture/Conference
Context awarenessComputer hardwareMultiplicationPhysical systemThread (computing)Scale (map)Memory managementMechanism designSimilarity (geometry)TLB <Informatik>Event horizonBefehlsprozessorScheduling (computing)CyberspaceInterrupt <Informatik>Address spaceDevice driverLevel (video gaming)PeripheralExtreme programmingCoroutineGame controllerComputing platformKernel (computing)Source codeSpeicheradresseCurvatureVirtual realityEinbettung <Mathematik>Pointer (computer programming)ImplementationMaß <Mathematik>Operations researchMikrokernelAverageMessage passingSoftwareDisintegrationLevel (video gaming)MikrokernelObject (grammar)Pointer (computer programming)Computer hardwareContext awarenessInterrupt <Informatik>Kernel (computing)CASE <Informatik>Event horizonMechanism designScaling (geometry)BitDevice driverMessage passingWorkloadProcess (computing)Scheduling (computing)Physical systemFormal languageTask (computing)Address spaceAuditory maskingException handlingBuffer solutionMereologySlide ruleINTEGRALPoint (geometry)Order (biology)Thread (computing)Java appletBefehlsprozessorComputing platformCache (computing)Disk read-and-write headCodeOperating systemSource codeExtension (kinesiology)NumberTerm (mathematics)Multiplication sign3 (number)Integrated development environmentSoftwareDirection (geometry)Game controllerMultiplicationIdentifiabilityLecture/Conference
Maxima and minimaMikrokernelContext awarenessThread (computing)Operations researchAverageDisintegrationMessage passingSoftwareComputer hardwareComputer programmingModel theorySpeicheradresseVirtual realityRead-only memoryProcess (computing)Function (mathematics)System callPoint (geometry)ImplementationBridging (networking)MetreTime domainIntelExtension (kinesiology)Field programmable gate arraySpeicherschutzLevel (video gaming)Computer hardwareWeb 2.0Server (computing)Open setCASE <Informatik>Library (computing)BefehlsprozessorObject (grammar)Direction (geometry)Kernel (computing)Mechanism designCartesian coordinate systemSystem callFunctional (mathematics)Extension (kinesiology)Table (information)Descriptive statisticsAbstractionAddress spaceLogic gateAsynchronous Transfer Mode32-bitComplex (psychology)Performance appraisalNormal (geometry)Hydraulic jumpMultiplicationSingle-precision floating-point formatTask (computing)Barrelled spaceProcess (computing)SoftwareState of matterMikrokernelSemiconductor memoryLimit (category theory)AreaCache (computing)Context awarenessSubject indexingParallel computingOperator (mathematics)CuboidEncryptionProgramming paradigmModel theoryThread (computing)Office suiteSeitentabelleComplete metric spaceMeasurementBinary codeLine (geometry)Order (biology)Message passingData centerMathematicsCore dumpLecture/Conference
MaizeField programmable gate arrayEuler anglesSystem programmingOperations researchProduct (business)Compilation albumCollaborationismPrototypeLimit (category theory)Streaming mediaService (economics)ArmComputer hardwareExtension (kinesiology)Execution unitComputerBound stateGoodness of fitPerformance appraisalProduct (business)Software architectureVulnerability (computing)BefehlsprozessorPointer (computer programming)CuboidSpeicherschutzSoftwareSpeicheradresseMoment (mathematics)Level (video gaming)Enterprise architectureMoore's lawSoftware developerMultiplication signDecision theoryInformation securityStress (mechanics)Process (computing)Line (geometry)BitChemical equationModul <Datentyp>Uniform resource locatorOpen setMikrokernelOverhead (computing)Computer virusPoint (geometry)ImplementationMixed realityTDMAPhysical systemCore dumpVirtual machineObject (grammar)Run-time systemIdentifiabilitySemiconductor memoryArithmetic meanReduced instruction set computingRandomizationLecture/Conference
Computer animation
Transcript: Englisch(auto-generated)