[P4] P4 Paxos to DPDK

Robert Soule robert.soule at usi.ch
Mon Aug 1 12:59:35 CEST 2016


Tu -- Thanks for answering!

Sandor -- Please let us know if there are any other questions.

-Robert


On Mon, Aug 1, 2016 at 10:27 AM, Sándor Laki <lakis at elte.hu> wrote:
> Hi Tu,
>
> Thanks for the clarification. It is a good case since multiple cores can
> be used.
>
> Best,
> Sandor
>
>
> On 2016.08.01. 10:04, Huynhtu Dang wrote:
>> Hi Sandor,
>>
>> The packets can be processed in a different order than their arrival. An instance number in Paxos is used to establish the order of packets.
>>
>> Best,
>> Tu
>>
>> On Aug 1, 2016, at 9:45 AM, Sándor Laki <lakis at inf.elte.hu<mailto:lakis at inf.elte.hu>> wrote:
>>
>> Hi Robert,
>>
>> Sorry for the delay; I was out of office for a few days.
>>
>> It was also my understanding on how PAXOS can be done. Do you also expect that the packets are processed in the same order as they arrived to the switch? I'm just asking since in the current compiler, it can only be guaranteed with a single core setup. The compiler with global register support wiil soon be available in our github (hopefully this week). I will let you know if it is out.
>>
>> Best,
>> Sandor
>>
>> On 2016.07.27. 15:37, Robert Soule wrote:
>> Hi Sandor,
>>
>> I'm afraid that all of our register uses are global. I understand that
>> this would impact performance, but the accesses need to be
>> synchronized, or we run into correctness issues.
>>
>> By the way, I've cc'd my other student, Tu, who is the lead on this
>> work, and implemented our Paxos program.
>>
>> thank you,
>> Robert
>>
>> On Wed, Jul 27, 2016 at 10:24 AM, Sándor Laki <lakis at inf.elte.hu<mailto:lakis at inf.elte.hu>> wrote:
>> Hi Robert and Pietro,
>>
>> A PhD student from our team will be available from next week. He can
>> actively help Pietro in using our compiler.
>>
>> Some pointers you can check (use DPDK 2.2.0):
>> 1. DPDK installation: http://dpdk.org/doc
>> 2. Configuration howto:
>> http://dpdk.org/doc/guides-16.04/linux_gsg/nic_perf_intel_platform.html
>> 3. Try to execute L2fwd example, if it works, your configuration is
>> probably good.
>> 4. Our compiler usage: https://github.com/P4ELTE/p4c
>> 5. If you managed to use the examples from our compiler, we can move
>> forward with the compilation of Paxos. To this end you can use
>> compile.sh script that generates an executable in ./build. Itreuires the
>> same parameters as the original l3fwd dpdk example. For more details,
>> please check: http://dpdk.org/doc/guides-16.04/sample_app_ug/l3_forward.html
>>
>> As I have already mentioned, we are working on to add register support
>> to the compiler, and it will hopefully be done this week.
>>
>> Another question is the register semantics, since it is not clearly
>> declared in the P4-14 spec.  If multiple cpu cores are used, the
>> compiled switch processes packets in parallel, making the use of global
>> registers difficult. We can only expect that the packets of a given flow
>> are handled by the same cpu core. So the question is the following: do
>> you need global registers or local registers for different cpu cores are
>> enough? Do you expect that packets are processed in a strict sequential
>> order or parallel packet processing may be compliant with your Paxos
>> protocol? Global registers can also be supported, but it may reduce the
>> forwarding performance.
>>
>> Keep in touch!
>>
>> Best,
>> Sandor
>>
>>
>> On 2016.07.26. 10:48, Robert Soule wrote:
>> Hi Sandor,
>>
>> I have a student who can potentially work on this until the end of
>> August. (Unfortunately, he will be leaving after that.) Neither of us
>> have experience with DPDK, but one way I thought we could proceed
>> would be to use your compiler to generate all the code without state
>> accesses, and use the generated code as a starting point for adding in
>> memory accesses.
>>
>> Do you think this is feasible? If so, could you send some pointers to
>> me and my student, Pietro (cc'd), about how we could use your
>> compiler, etc.?
>>
>> thank you,
>> Robert
>>
>> p.s. - If your master's student is interested in working on this, it
>> would also be great, and the offer for the short-term scholarship is
>> still available.
>>
>>
>>
>> On Fri, Jul 15, 2016 at 8:24 AM, Sándor Laki <lakis at inf.elte.hu> wrote:
>> Hi Robert,
>>
>> Thanks for you mail. It would be nice to collaborate on this.
>>
>> Actually, we have a promising MSc student working on this project, so I
>> will ask him about this opportunity. However, if the travel is not
>> possible, we can also allocate some resources to make run Paxos with our
>> compiler.
>>
>> Keep in touch!
>>
>> Best,
>> Sandor
>>
>> --
>> Sándor Laki, PhD
>> Assistant professor
>> Department of Information Systems
>> Eötvös Loránd University
>> Pázmány Péter stny. 1/C
>> H-1117, Budapest, Hungary
>> Room 2.506
>> Web: http://lakis.web.elte.hu
>> Phone: +36 1 372 2869 / 8477
>> Cell: +36 70 374 2646
>>
>>
>> On 2016.07.14. 12:35, Robert Soule wrote:
>> Hi Sándor,
>>
>> I saw your talk on the P4 to DPDK compiler at the P4 Workshop at
>> Stanford University. It is a very exciting project!
>>
>> I am an assistant professor at the University of Lugano (USI), where
>> we have been working on implementing Paxos in the P4 language. We have
>> a tech report on the work here:
>>
>> http://www.inf.usi.ch/faculty/soule/usi-tr-2016-03.pdf
>>
>> So far, our efforts have focused on targeting FPGAs, but we are also
>> interested in seeing if we could get similar performance benefits in
>> software using some kernel by-pass technologies. So, we thought to run
>> some basic experiments with DPDK.
>>
>> We have no experience with DPDK, but I thought that maybe we could
>> leverage some of the work you guys have already done with your
>> compiler.
>>
>> One idea I had: we recently started a scholarship program at Lugano
>> for master's students from other universities to visit Switzerland for
>> three months to work on a research project:
>>
>> http://mars.inf.usi.ch
>>
>> If you have a promising masters student who is familiar with your
>> project, perhaps they could visit USI for a short time to run Paxos in
>> our testbed using your compiler?
>>
>> best wishes,
>> Robert
>> http://www.inf.usi.ch/faculty/soule/
>> ---
>> Ezt az e-mailt az Avast víruskereső szoftver átvizsgálta.
>> https://www.avast.com/antivirus
>>
>> --
>> Sándor Laki, PhD
>> Assistant professor
>> Department of Information Systems
>> Eötvös Loránd University
>> Pázmány Péter stny. 1/C
>> H-1117, Budapest, Hungary
>> Room 2.506
>> Web: http://lakis.web.elte.hu
>> Phone: +36 1 372 2869 / 8477
>> Cell: +36 70 374 2646
>>
>>
>> ---
>> Ezt az e-mailt az Avast víruskereső szoftver átvizsgálta.
>> https://www.avast.com/antivirus
>>
>>
>> --
>> Sándor Laki, PhD
>> Assistant professor
>> Department of Information Systems
>> Eötvös Loránd University
>> Pázmány Péter stny. 1/C
>> H-1117, Budapest, Hungary
>> Room 2.506
>> Web: http://lakis.web.elte.hu
>> Phone: +36 1 372 2869 / 8477
>> Cell: +36 70 374 2646
>>
>>
>> ---
>> Ezt az e-mailt az Avast víruskereső szoftver átvizsgálta.
>> https://www.avast.com/antivirus
>>
>>
>> _______________________________________________
>> P4 mailing list
>> P4 at plc.inf.elte.hu
>> https://plc.inf.elte.hu/mailman/listinfo/p4
>
> --
> Sándor Laki, PhD
> Assistant professor
> Department of Information Systems
> Eötvös Loránd University
> Pázmány Péter stny. 1/C
> H-1117, Budapest, Hungary
> Room 2.506
> Web: http://lakis.web.elte.hu
> Phone: +36 1 372 2869 / 8477
> Cell: +36 70 374 2646
>
>
> ---
> Ezt az e-mailt az Avast víruskereső szoftver átvizsgálta.
> https://www.avast.com/antivirus
>


More information about the P4 mailing list