Bestand wählen
Merken

Even faster VM networking with virtual passthrough

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
of my so in the problem we were interested in in the is output UI pocket rates which are a problem even only and their mental even if we have spoken about the myth of machines here which you right pocket rates
in the current system people ever resorted to bypass solutions it to bypass the entire operating system like in the the decay of different unit or in then it negates the web casts only minute prospects why this is not because of my pocket racers typically needed in applications with the the direct boxes packets coming on the network and the T period don't need all the processing non by the by the and at the same time of day for sure I quite interesting to have a small per pocket always reported work so by passing the is the solution that is currently uh used the most
of the there information machine that frequent mature function repositioned first-mover amenable boxes so that if I wasn't on inside the permissions neuroscience I usually connected with each other we the self as we just saw in our group we develop a fast as of which which which is developed which is based on the Nepomuk API which is called violet which achieves so in for sure pockets of a full booked for a medium pockets per 2nd between 2 with machines which is ruled that but is still far from water this is which can go between that uh applications standing on the Austin which is 20 million practice but it's a sort which so it's limited only by the memory bandwidth then these other postal passing a device eating and eating and having the machine but it packs a splitting of the vise and of course you need the reliability of user and you are limited by the communication which has to go to the PCI bus and then that our middle possible solutions for G which are different from ours 1 our solution is in competition with a little bit like in this way because was another problem with give people machines and also wind i pocket on their made is notification that the time there are involved in the processing of all book notification switching maple machines also involved the beverley expensive and in the machine exits and enters so what we propose here
is possible net OK so it is the solution to which a specific commitment what we're doing here is to give a net my publications online application that already use management API but the network the indicted boxes from a guess alleles so it's not the generic solution for for example application based on sockets and it's only for application that the reviews then it be end it can achieve a high speeds
is by the user applications and inside the gas that we have as much as possible like application running very clear on the also and so the obtained as at almost the same numbers that can you think of that not only also sold line rate for físico about there's 20 million packets per 2nd for about imports and look at strange numbers for minimum parts only the exchange packets so as a don't belong loan arc touch the and the laughter that the exchange so they can be very fast but of course it is 1 that as soon as the applications that's doing the things on the the backs of those numbers drops nomadic with book was the
week we can obtain the the same we can try to keep the advantages network which is a other independent is a software solution which is the helps library but in the way operating systems do that by providing an abstraction which isolates the owner of the application for almost a very elaborate at the same time using quality of work so you don't need the for for example for the postal it's only feasible or if you have an an adaptive which are already has a for example single rule to the variable to have several Adler we call the devices so that you can give you 1 wheat shipped with the machine and I would be supporting because of it doesn't play well for general particles of API which should done in a general purpose operating system which is maybe is doing other things using the
data the things that that operated hours a week and exporting of the communications parts of that map little machines we can achieve In this proposal for other parts of my passing and it purported bounced would not where would you to machine if we export to valid ports what what's what's by copy it and so we have the isolation between people machines so we can have an untrusted it the machine told to each other if we export that much right in the book right to the shared memory to exchange they don't call the bike as they just were pointers and therefore we can have a communication between uh bastard the Commission's important point is that all all of these cases or use the same API so the decision although whether you process the retortion ordinal to does not depend on you will need to change the application running in the machines took it
is the previous work there some weak reminder about MIT so there is a shared memory which is shared between this is not my programming on the also is a shared memory underwear applications so that can talk with the kernel mission-oriented either contains an abstract version which all the use of the other about this and they're buffers which within the practice whichever received and transmitted from the effect of point so the final that part of the Q which is owned by the applications in the part of the query which is owned by the government and the points to the 1st 3rd of brings lot of the 1st is lot which is owned the by the application by the use data to the 1st result which is owned by the government then it being that it might be the over you will 3 d ed . but the kernel doesn't look at that point the while you're moving if it only looks at that when you use should be short 1 of their NetMap API primitives which is a which is a there and I comparable or a stand out of the 4 or select system when you move the pointer and for example this is the transmit you you're saying that the some other buffers now must belong to the continent intends meet you these means that the better you practice to sense In is seen you these means that when you have finished working with the as is this set of practice and their corresponding buffers are available for them in the uh can be used to receive more pockets and at the same time the kernel of this that they you by moving forward at the fuel it games are the buffers full uses basing it does make you means that those buffet being sent to this permission is going is completed In addition to kill it means that the new pockets of received so this is essentially the that might be the eyes of the advantages of the the idea is that you can never batching because you can more will be a point there by more than 1 slot my means a lot as you want to so in 1 system call you can consent several packets there is not like a copy because the memory is shared and the and many of the orbits involved in bucket processing are removed for example memory location is done at the beginning of the start of the application so that the product over the is very small and that this is what to enables net not which you for line rate that the only thing you get big sneaks or even not to 56 million pockets and those missions on 40 needed it's units using this in
the I knew what it but we can do several things so that the standard being installed with the Rio but using the same API we can never to the values we shift in several applications so between them this water by gulping back separation between the applications and that's why a lot of the shared memory are used by the Leabra meets is always the same means 1 system wide area for all of the other Nixon mostly for religious reasons each valid it's all my private private memory area by saying instead that another about variation in which only talk to each other the 2 endpoints of a by the we use the same memory and 5 sided with more flexible in where they use because they use the memory of all the another adopted that you have to specify so this is 1 of the about that or money for and this is a way to use their global memory order at a private memory for a fight
OK this is for and how this is that not this is what we mean when we added support for their that but then bodies which which isn't in which is all the same because the is the same in the who you essentially the architecture extremely is as follows the guess that's as far as the networking is concerned the guess that the Caesar and innovative out were adopted which is its own use and buffers which are interpreted by a part of stream what which make all of the of front-end different than interprets that they the structure that other structures although there which I share the memory with the the guess that for example of being made the the the 1 of the 1 thousand about the or maybe they're completely new of a completely new form of reburial and so on whenever there is a new pocket the front than the sand speedy using this function call the began which poets who would be of of the who also worked in the beginning with the effect of the rise and that we added that uh another kind of again which is in a of which faults from 1 of the on always with his
architecture which is the the 1 which is Corinth currently in an in-depth think we were able to achieve a maybe between 2 of the S 3 sometimes 4 and 5 million pocket but seconds which are pockets but we that many other looking at optimizations which are not in their upstream implementation so looking NIPS implementation maybe can do 2 or 3 million participants end for even less there are many problems with this architecture may the fact that the matching it is not possible Europe even if it is possible in the interface between of the gas and the front-end and between the can and that much and the set pocketbook copies of generally involve that we tried to out of order some of these copies but we had to defeat with this again because of these interfaces Nichols is not very easy to keep track of the ownership of the bar buffers if you're not helping them for that interface moreover each pocket the information regarding each packet which is that there's a lot which describes the packet has to go through a tool from deletions which are essentially useless
especially if you're using that much of in the guest that the situation is this an application not opens a device in the gas that bolts with the kernel in the gas that which is completely unaware of the fact that in the also there is another instance of book already opened the wearer which is the final destination of the pockets he wants to send so there you put it back at the in the middle of bring in the guess what talking for example if we 1000 then with devices when you send the packets of the information as will be converted the uh for the format expected by the the 1 thousand bring this people's invented by the from and then again in the form of perspective by it up in the back end In the process pockets may also that the content of the practice may also need to be copied so this is 1 source of all over the which is paid for every packets and then i pocket rates so that it can be even is it doesn't seem so complex but the other at pocket rates can become significant so what what
this you would have done now whenever they're
essentially remove them different than began the from that of parts so that the application can directly access the when the application is that multiplication which opens in the marbled uh device in the guest it can enter the began is not much it can go directly to the mom by my at
the same time we also consider the other source of inefficiency in with the machines which is in the notification box we won notification but we don't want to do with the way that for the because this is 1 of the strength of next month but notification not in the promotions of expensive and so we adopted the Earl of some of the so that are essentially the same solution which is already adopted by by the fail which I will I mean I'm going
to the so do this is the
situation right now when an application opens a device in that not all in the test there due this peoples and the buffers are shared between application in the gas and the also because the rest idea is completely removed the from the part is not used anymore because there was that it is only used tools atop the that about then is no longer used and the same goes for the front-end and the back-end the final point however
is that the the green pointers are interpreted by that guess the the the net which is running in the guests these ontologies it is then as I said before we want to preserve NetMap semantics that mathematics as seen for for the management of all these information because they behave like any system call borrowing the kernel on you look at these parameters when you called the system called doesn't look at them while you're doing other things if it looks at them while you're doing other things you have to be careful in managing them in their ordering in Wilton memory barriers and which is generally very out of the In that not you write down the criminal doesn't look at them then you wish a system called the kinetics of them and synchronizes is view with the users because we want to preserve these now the only about here that can reliably the is that there are no in the guest because the these synchronous with it with the application so it is the campaign against which sees is pointless and that makes them this also means that the the information must be passed in some other way to the actual user of information which isn't in the and
OK this is a bit of all the day long and how we implemented the I finger keep this and this is a bit more in
detail and I'll be there were architecture is organized the there are essentially 2 parts so of that in most biblical most complex 5 these also the 1 that is not important for performance because it all it's it's all resolved during this about and this is that this part during this about so if a cable running against the new maps there directly the also the memory in the guest and a set of called are established uh so that then about is created that can talk to a fake driver in the guest during other parts of the early fake driving the guest the adopted and the real driver in they'll still greater or all of the 4 original private in this stand out from the mother but architecture which is 1 of those old rivals in the in the feature the information between the information on the point on the is exchanged the invited guest continental-scale scantling using a separated the piece of memory which is not accessible to the application and is that this is not a synchronous a single leaf this is possible because of and this information is only relative to their products over 300 which is owned by the continent by that also then it must be the eyes and that it can be done efficiently by using the but your like interaction between them there be deported driving the guess that and about the running in the also they can look at this the shared memory uh bright then there'd be a state if they're running Malta and the other party can use this information to avoid the modifying and the other 1 the here if it is already running this is essentially what do yield us of the of the of the month the acquires
a bread in they In the also list from the then the simplest liver thread which is started in the usual way when the when the threat is not running at the end of an update the is that that the only 1 that you that bread started by using the usual party BMX seats and the the of which you translates in the start of the of the but if the threat is running it rights in the shared memory C is the page it is running and as long as it does something to look the other party it doesn't need to modify this is very important because the that the the reduce costs in the notification is an exciting from the from the uh mutual machine mold in the gas and the same goes in the other way because of the in the living interrupts inside the detention may be very costly for especially if you don't have a posted interrupts
I don't have a
lot of I so this is all the need like interracial walks so that each party is essentially at that the area kind of glad that in the also and use any interrupt their during software Europe who we know in the guest the idea of doing this and they are the because the been when they get an education they going around in state when they are in the running state that they said that don't need to be taken the game think as long as the have what the reminder and state that when there is no what samples these interaction looks simple but is there in room it's very cheeky really because we are the creating of and feedback within our much more and what should be the bow of the working pedestal and the Pauline URI and this creates a 7 out lot our counter intuitive over the ages and for example if foster before for the earlier working that foster news cows a week drop in the the performance the goal so it goes to sleep much more often and this to be notified much more often and notification expensive for the other 2 on the other end of the the ladies In waking up but can be useful right because it tho it but when the party wakes up that the other thing that them the descending part of example I had the time to create a larger and larger batches and many things like that so it's another it's a really another tricky
I myself
focus so I think I can go to
lead to the measurement this is what the will measure the performance between the gas and also Austin guests and guess the best and also offers a efference because now all of these applications are using the same API and we want to ever the guest applications need like the also 1 the 1 running directly on the US then editorials it is a package and from the map the form the that marked the suite that we should just that sense pockets without actually touching them memory consideration location is assigned multiple and field being uses some old uh involved
then we can have physical or in fast to the guest editor for commission for
or a OK so for
a physical so we essentially issue but the line greater even for short matches as important as mission and the and on the received parts this is the expected because essentially now the guest application it's almost indistinguishable from up there not even if a publication which already receives language for a
valid port so we have a bit of it and I was surprised at 1st because the applications standing in dataset actually faster In much faster the the the the the corresponding application running directly on the walls of the the lower part of the graph but this is explained as follows because we're rather than other that that in in the system which is the 1 which is actually doing the other linear war group in an
application running the owner the also still using about all the actual call peak is done by that thread that the issues in the Nepomuk book gold you issue and the cooperation of all of the bread the data in this set up book uh the application is running in the guest book and they just notifies the other thread running Windows which then does the article appeared on the board moreover if there's a the like interaction is working well at notification doesn't cost anything so that bread that is very fast that is not the bottleneck the bottom is simply the this that which is faster than their equivalents of situation in the also because it is a kernel that it doesn't have to issue system calls anyway apart
from this that we should hold that that even tho the also that the result is good because the application can reach the of more than 20 million procaspase cycles the about supports
this for larger larger Francis center and this is a
form of the pipes so again at the early application running In the also are faster in the guest faster this same even much faster these green the green line is for a package and running in the guess that while the proper alignment and then another rule alignment of that the red line is the 1 on the US 4 bytes from shown that is a very simple you shouldn't call them and then their pockets you understand you want to send them as what the free slots founded in the receiving end of the pipe so it just this wall although the pointers in the in the reverse and the I get is fast again because of these these additional threat the anyway you can see that there is a very big blocks of performance when the a batch size and the size is the number of markers the package and sense for each goal of uh goes beyond a certain threshold this is 1 of the things that happened because they not interaction in modifications between them in 2 far as the working in like if they all is actually very cheeky and this is 1 of the situations where something to eat at he we can also see how
the system behaves when we change data size for different the sizes in Florida for is low for a small batch sizes package running in the gas that is the ball from essentially for the course the old book running although executing did the system called the Center for this is simple not the notification because the bread that as a practical awoken kept the running you by by the by our everybody like interaction and so we can achieve a i pocket rates but when the batch size increases these ads not additional costs for package learning in the guest because it's essentially always doing the same thing because it doesn't match the packets so we just the number that rights in the at the point the that's a bigger number it that it doesn't have to do anything more than that but more work is added to the spread of that bacteria schools what the pockets at some point that those that that that becomes the bottleneck when that that becomes the bottleneck of packaging the guess the becomes faster and eventually fuse the cue to construct you when the queue is at this to be notified modification musical for the 1 that sends the notification so the that the Fed good that is it is is the bottleneck is lower down by the fact that has to wake up but the uh package and running in the gas and solve it as we got more and more of linear and that it wakes up once for a very batch and that's so that's the of the meeting point and if you increase the the sides of the of the q you all day in the same year Europe the meeting the idea values of because of which matches sending more packets a
lot of the OK so uh also leptons is important so of course latency is very different that if infer the receiving party is already running or small the we think however that the numbers are reasonable or if you have to to do all the notification the parties is the thing that we're waking up we can obtain for example in the worst case between 2 guests of 55 25 microseconds
if the other party is already done in we don't they are not much smaller much smaller times within the final
test within the we try to collect the 7 of these people machines each abandoning it and that's not the breach always from the it the sweep the connected by not biased but performing called piece for technical reasons so even if they're using that not pipes they're actually coping pockets from from 1 machine from work we compare these with the again the same month the applications are running directly on the also a of course that is at that must stop about it is 5 15 15 per cent of the of the of the region of which we think it is should be acceptable of course that is all because there are obvious we have yet to perform the tests we did a forms 0 copy but OK so this is the
conclusion I worked and what never implemented the Wallabies of of course we have to modify several things to implement these were modified enactment as against and the cells with to modify the hypervisor and the guests because get then OK then get by so
we found it easy because we are there any experience so we have modified the Lima matinees Walker supported by a cool summer called the event that book modify also the idea we have already modified that there is a guess that both and previously and all the code is available in that at that top but address of that kind of that and that is the idea actually not much of the actual quality of his students at the news that these
topic thank you and Questions here thank with him or the a week of the year because of the World Wide World of my life I feel like this is from 1 of the of the of the already weak sense of the problems that we have the right light years and you know the whole thing is really the the the heart of that's 1 on several of them several tricks that can be done to improve the situation but there are so many more of us we're directly studying to be studied this for a long time that if we're trying to create a more complete control of the situation and there are many many possibilities so
uh and this is 1 for example is implemented already in detail but this only possible really in 1 direction not in the other because in this 1 election when you know that there are already pockets and then there's the other direction with your like other pockets coming so you can move the lay the notification as much as you want unless you will try to create a model of a balance between a latency and and but the this is a political decision what you for other uses all which
1 are you referring to sorry
you there's initiatives in the lab bigram in in this kind of a is not implemented donor control that is that is that the keeping the dealer and that the weight wake up keeping could die before a bit longer even if it observes that that is not uh not traffic it doesn't the middle difficult asleep it waits for a bit which is a parameter which has to be tuned and so not so the fact that the word error rate so easily is a lower yeah I think this is simply because the rights in the receiving parties and more inefficient receiving an interactive learning is more efficient than then actually writing a register which is watched figures the new Mexican on so there's not knocking local story implemented the users own Fujiwara him as well as well as well as long as as long as
a as a valuable gives me what looks like an outer adopted I can use not the point is if I have an active adaptability promote we have a genetic adaptive for any kind of neat but which is of course it's not as far as they cannot achieve Landry but for any other laughter we can fetch the driver will ever anything about that and see what we can do with that the s that is independent from this as long as we have said in that markup or productive for any weekend pass to the lights what has enabled and another that depends on the on the network with fear of just for a 1 of the founders of the environment that being very again to basically said Monday in and see what we can do a lot of the day but since you know that we mentioned here focus then
mentioned in the yeah day of the
week soccer's which like well it with new negotiated by the memory but the story of the I so he's on the walls is lower because only and the I but we these newly 1 thousand so we are moving to reveal its there is not very important
because it again their demise so it's only used to her Toussas sector the things up then doing that we know about the parts nothing nothing is used on the device so it's a rather than just what is a Bible we can match it to to support the past through work as is and this is only for a picnic massification NetMap obligations signing in if you want the CPU where the other options that already have a few want Usenet puppy mills userspace TCP for example or or or something because of this that you have the most of the well head with what students was used 1 of the reasons for the data and the the the end of of the the true OK so they're all have up to the unit the dissemination
t-Test
Information
Hinterlegungsverfahren <Kryptologie>
Formale Semantik
Kreisbogen
Intel
Freeware
Reverse Engineering
Datenpfad
Gruppe <Mathematik>
Statistische Analyse
Gerade
Feuchteleitung
Schwellwertverfahren
Datennetz
Biprodukt
Entscheidungstheorie
Verbandstheorie
Ordnung <Mathematik>
Programmierumgebung
Dualitätstheorie
Subtraktion
Interrupt <Informatik>
Virtuelle Maschine
Weg <Topologie>
Bildschirmmaske
Modul <Datentyp>
Perspektive
Spieltheorie
Reelle Zahl
Netzbetriebssystem
Thread
Speicheradresse
Primitive <Informatik>
Ganze Funktion
Modul
Soundverarbeitung
Videospiel
Architektur <Informatik>
Telekommunikation
Summengleichung
Generizität
Rahmenproblem
Gamecontroller
Wort <Informatik>
TVD-Verfahren
Prozess <Physik>
Inferenz <Künstliche Intelligenz>
Minimierung
Versionsverwaltung
Gruppenkeim
Kernel <Informatik>
Komponente <Software>
Bildschirmfenster
Tropfen
Parametersystem
Lineares Funktional
Abfrage
Systemaufruf
p-Block
Frequenz
Konfiguration <Informatik>
Arithmetisches Mittel
Emulation
Framework <Informatik>
Anpassung <Mathematik>
ATM
Message-Passing
Standardabweichung
Aggregatzustand
Telekommunikation
Stapelverarbeitung
Zellularer Automat
Zentraleinheit
ROM <Informatik>
Code
Puffer <Netzplantechnik>
Physikalisches System
Message-Passing
Software
Front-End <Software>
Proxy Server
Front-End <Software>
Stichprobenumfang
Verteilungsfunktion
Strom <Mathematik>
Optimierung
Operations Research
Schreib-Lese-Kopf
Hardware
Trennungsaxiom
Mathematik
Orbit <Mathematik>
Physikalisches System
Fokalpunkt
Quick-Sort
System F
Druckertreiber
Flächeninhalt
Loop
Dreiecksfreier Graph
Computerarchitektur
Bitrate
Offene Menge
Kernel <Informatik>
VHDSL
Extrempunkt
Aggregatzustand
Computeranimation
Richtung
Homepage
Streaming <Kommunikationstechnik>
Softwaretest
Speicherabzug
System-on-Chip
Schnittstelle
Softwaretest
Addition
Suite <Programmpaket>
Sichtenkonzept
Güte der Anpassung
Strömungsrichtung
Zeiger <Informatik>
Bitrate
Ereignishorizont
Gruppenoperation
Menge
Rechter Winkel
Festspeicher
Heegaard-Zerlegung
Prozessfähigkeit <Qualitätsmanagement>
Client
Instantiierung
Fehlermeldung
Maschinenschreiben
Wasserdampftafel
Maßerweiterung
Äquivalenzklasse
Transinformation
Whiteboard
Homepage
Informationsmodellierung
Skalenniveau
Datennetz
Virtuelle Realität
Inhalt <Mathematik>
Datenstruktur
Stochastische Abhängigkeit
Aeroelastizität
Schlussregel
Kreisbogen
Thread
Softwareschwachstelle
Overhead <Kommunikationstechnik>
Partikelsystem
Resultante
Bit
Punkt
Gemeinsamer Speicher
Sweep-Algorithmus
Formale Sprache
Adressraum
Kartesische Koordinaten
Kinematik
Synchronisierung
Einheit <Mathematik>
Datenmanagement
Mehrrechnersystem
Minimum
Figurierte Zahl
Druckertreiber
Einflussgröße
Funktion <Mathematik>
Abstraktionsebene
Quellcode
Linearisierung
Texteditor
Datenfeld
Verschlingung
Dateiformat
Information
URL
p-Block
Zentraleinheit
Rückkopplung
Gewicht <Mathematik>
Quader
Implementierung
Zahlenbereich
Interaktives Fernsehen
Gebäude <Mathematik>
Socket-Schnittstelle
Multiplikation
Benutzerbeteiligung
Interrupt <Informatik>
Warteschlange
Zeiger <Informatik>
Implementierung
Ontologie <Wissensverarbeitung>
Matching <Graphentheorie>
Graph
Linienelement
Zwei
Einfache Genauigkeit
Mailing-Liste
Gemeinsamer Speicher
Automatische Differentiation
Migration <Informatik>
Keller <Informatik>
Mapping <Computergraphik>
Mereologie
Bus <Informatik>
Bandmatrix
Stapelverarbeitung
Shape <Informatik>

Metadaten

Formale Metadaten

Titel Even faster VM networking with virtual passthrough
Serientitel The Technical BSD Conference 2015
Autor Lettieri, Giuseppe
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/18676
Herausgeber Berkeley System Distribution (BSD), Andrea Ross
Erscheinungsjahr 2015
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract In past years, we have shown how to achieve very high networking speeds in bare metal and VMs using the netmap framework: embarrassingly high packet rates on bare metal, comfortably good on VMs through conventional device emulation techniques. In this talk we show how to fill the speed gap between HW and VMs with a non conventional use of netmap, namely virtual passthrough. In this mode of operation, the guest VM uses directly the host's netmap port (thus saving extra data copies), while notifications are dispatched efficiently between guest and host. Thanks to this technique we can achieve communication speeds between untrusted guests in the order of 20 Mpps, and reach 50 Mpps between trusted guests across netmap pipes.

Ähnliche Filme

Loading...
Feedback