[P4] P4 Paxos to DPDK

Huynhtu Dang huynh.tu.dang at usi.ch
Mon Aug 1 10:04:32 CEST 2016


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




More information about the P4 mailing list