Skip to content

Bump https-proxy-agent from 2.2.1 to 2.2.4 in /yknjs/reveal.js #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 20 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
86 changes: 46 additions & 40 deletions itnot/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
</section>
<!-- Slide1 -->
<section>
<img src="pics/slide1.png" class="stretch"></th>
<img src="pics/ecl.png" width=35% height=35%></th>
<aside class="notes">
<p>So! Hello everyone, my name is Elena "I won't pronounce" Lindqvist and I am here to tell you about using smartNICs with OpenStack.</p>
<p>I work at Ericsson as a systems manager. That's *systems* manager, so ... </p>
Expand Down Expand Up @@ -103,9 +103,9 @@
<br>
<br>What is NFVi?
<br>For many years at Ericsson, we made SW and HW very dependent on each other. Customers bought whole racks of custom HW and the Ericsson SW applications deployed and running on top of that HW.
<br>NFVi is part of the NFV framework and it means, more or less, decoupling the SW from HW for network nodes using virtualization.
<br>It means you can run the telecom applications(the SW) on any HW (like Dell, HP, Qanta, SuperMicro, Fujitsu servers, whatnot), in VMs or containers.
<br> Basically, you can run it on Intel HW, 'cause that's so much better ... meltdown ... spectre ... zombieload
<br>NFVi is part of the NFV framework (a network architecture concept) and it means, more or less, decoupling the SW from HW for network nodes using virtualization.
<br>It means you can run the telecom applications(the SW) on any HW (like Dell, HP, Quanta, SuperMicro, Fujitsu servers, whatnot), in VMs or containers.
<br> Basically, running telecom applications on Intel HW, 'cause that's so much better ... meltdown ... spectre ... zombieload
<br>
<br>Traces of this decoupling of the network functions from proprietary hardware have been there for many years now.
<br>Around 2003, I worked in an ISP. We used Cisco routers to do BGP with customers and the upstream provider. I was in awe when GNU Zebra came out and I could run BGP in a Linux box.
Expand Down Expand Up @@ -175,7 +175,7 @@
<section>
<tr>

<p>Is it a bird? is it a plane?</p>
<p>Is it a bird? Is it a plane?</p>
<p> It's SmartNIC !</p>
</tr>

Expand All @@ -201,9 +201,7 @@
</tr>
<aside class="notes">

What is this smartNIC, anyway? Is it an embedded linux, is it a linux mini server?
<br>
<br>If you see it as embedded linux, then to upgrade the "FW" you would run an agent on the compute to do this. Is that good enough if you have many such smartNICs in your deployment?
If you see it as embedded linux, then to upgrade the "FW" you would run an agent on the compute to do this. Is that good enough if you have many such smartNICs in your deployment?
<br>
<br>Would you want the possibility to say, in one go, configure all your smartNICs to PXE boot, so you can load a new linux with ovs patches on them?
<br>Then you need something like IPMI, hence it's something resembeling a linux server here than an embedded linux.
Expand All @@ -221,7 +219,7 @@
<aside class="notes">

When should you use a smartNIC?
<br>(Intel info) If on your host you use more than 4CPUs for OVS, then you should switch to using smartNICs, it makes sense from a business point of view.
<br>(Intel "intel" :)) If on your host you use more than 4CPUs for OVS, then you should switch to using smartNICs, it makes sense from a business point of view.
<br>(Also, smartNIC is a good idea if you need low latency and don't care so much about migration)
</aside>
</section>
Expand Down Expand Up @@ -372,7 +370,7 @@
<section>

<p>DPDK is great except ...</p>
.. you need to reinvent the wheel ...
you need to reinvent the wheel
<aside class="notes">
Moving the NIC in user space and skipping the kernel entirely, has some disadvantages:
<br><br>You need to manage the driver from user space 'cause you lose the abstraction level the kernel provides
Expand Down Expand Up @@ -400,14 +398,19 @@
<br>
<p style="text-align:left;">$ modprobe uio<br>
<p style="text-align:left;">$ insmod x86_64-native-linuxapp-gcc/kmod/igb_uio.ko<br>
<p style="text-align:left;">$ dpdk-devbind.py -b igb_uio 18:00.2 18:00.3<br>
<p style="text-align:left;">$ dpdk-devbind.py -b igb_uio 18:00.3 18:00.4<br>


</font>

<aside class="notes">

How do you move a device from kernel space to user space, in case of DPDK?
This is how moving a device from kernel space to user space, in case of DPDK looks like.
<br><br>We need the hugepages for large memory pool alocation that is used for packet buffers.
<br>Lower number of memory pages means fewer table lookups, perf increases.
<br>(shorter time to translate a virtual page address to a physical one)
<br><br>Load the virti

</aside>
</section>
<!-- SlideX -->
Expand Down Expand Up @@ -503,7 +506,8 @@
<br><br> TX send it immedietly back out on the port that it was received, for load balancer cases for example
<br><br> ABORTED basically drop but what is extra is that you will get some log about it , useful for debugging for sysadmin or developer
<br><br> REDIRECT to another port, to other CPUs, you can modify headers on the packet (TX and REDIRECT similar to the DPDK ones)
<br><br> no support for jumbo frames in XDP
<br><br> Limitation on support for jumbo frames in XDP , jumbo frames are supported, like 3kB but not 9kframes. Might be a problem for storage?
(reason why this is a problem "one frame cannot exceed a page" constraint)
</aside>
</section>

Expand All @@ -514,7 +518,7 @@
What the heck is eBPF ?
<br><br>BPF stands for "Berkeley Packet Filter" it's a linux kernel technology that is used by e.g. tcpdump and other analysis tools.
<br><br>BPF is used to extract millions of metrics from the kernel and applications for troubleshooting purposes, deep monitoring or troubleshooting/exploring running software.
<br><br>BPF is basically a superpower.
<br><br>BPF is basically a superpower! And here's the thing, Google spent hundread of millions USD to market k8s, no one is marketing the linux kernel, so cool stuff like this are not enough advertised.
<br><br>BPF was initially used for tools like tcpdump but Alexei Starovoitov introduced eBPF (extended BPF) to be used for things like NATing, routing, doing what iptables does for example.
</aside>
</section>
Expand All @@ -532,21 +536,19 @@
</section>
<!-- SlideX -->
<section>
<p>With eBPF you can basically modify the kernel behaviour</p>
<p>eBPF to modify the kernel behaviour</p>
<tr>
<th><img src="pics/bpf-hooks.png" width=79% height=79%></th>
</tr>
<br>
<p style="text-align:right;"> <font size="-1">Shamefully stolen from </font> <a href="https://twitter.com/alexei_ast"><font size="-1">Alexei</font></a></p>

<aside class="notes">
You can safely and easily modify kernel behaviour.


</aside>
</section>
<!-- SlideX -->
<section>
<p>BCC tools</p>
<aside class="notes">

</aside>
</section>



<!-- Slide12 -->
<section> smartNICs with Storage
Expand Down Expand Up @@ -574,6 +576,8 @@
<a href="https://www.panasonic.aero/whats-new/press-releases/ericsson-panasonic-5g-ready-platform/">Panasonic</a><br>
<a href="https://www.ericsson.com/en/press-releases/2016/2/swisscom-selects-ericsson-for-telco-cloud-infrastructure-and-nfv-of-core-network-functions">Swisscom</a><br>
<a href="https://www.ericsson.com/en/press-releases/2016/2/telefonica-selects-ericsson-for-global-unica-program">Telefonica</a><br>
<a href="http://www.ntt.co.jp/news2019/1903e/190319a.html">2020 Olympics with </a><a href="Docomo http://www.ntt.co.jp/news2019/1903e/190319a.html, https://www.ericsson.com/en/press-releases/2016/3/ericsson-cloud-platform-enables-successful-launch-of-multi-vendor-nfv-for-ntt-docomo">NTT Docomo </a><br>


</p>
</div>
Expand All @@ -584,7 +588,7 @@
Telstra - linux and python story<br>
Panasonic - legacy/uefi<br>
Telefonica - Orange France - HA story<br>
Docomor http://www.ntt.co.jp/news2019/1903e/190319a.html, https://www.ericsson.com/en/press-releases/2016/3/ericsson-cloud-platform-enables-successful-launch-of-multi-vendor-nfv-for-ntt-docomo
Docomo http://www.ntt.co.jp/news2019/1903e/190319a.html, https://www.ericsson.com/en/press-releases/2016/3/ericsson-cloud-platform-enables-successful-launch-of-multi-vendor-nfv-for-ntt-docomo
</aside>
</section>

Expand All @@ -593,7 +597,7 @@
<br>Datacenters today?
<br>Stacked up "desktop" computers filled with ... air?
<aside class="notes">
<br>Secondly, it's my desire to leave you with a thought.
<br>It is my desire to leave you with a thought.
<br>I came to the realization that most of the things we learn are provisional and in consequence they are open to recantation and refutation. (I have been raised in an eastern europe communist country and been lied to a significant part of my life).
<br> I enjoy this path of questioning everything, why do we do things a certain way.
<br><br>In 2001 my first job was sysadmin working for a big Eastern European Internet Service Provider
Expand All @@ -608,24 +612,26 @@
<!-- Slide14 -->
<section>
<br>Thank you:
<br><a href="https://xahteiwi.eu/">Florian Haas</a>
<br><a href="https://twitter.com/brendangregg">Berendan Gregg</a>
<br><a href="https://twitter.com/alexei_ast">Alexei Starovoitov</a>
<br><a href="https://xahteiwi.eu/"><font size="5">Florian Haas</font></a>
<br><a href="https://twitter.com/brendangregg"><font size="5">Brendan Gregg</font></a>
<br><a href="https://twitter.com/JesperBrouer"><font size="5">Jesper Dangaard Brouer</font></a>
<br><a href="https://twitter.com/alexei_ast"><font size="5">Alexei Starovoitov</font></a>
<br><a href="https://twitter.com/hakimel"><font size="5">Hakim El Hattab</font></a>


<aside class="notes">
<br>Secondly, it's my desire to leave you with a thought.
<br>I came to the realization that most of the things we learn are provisional and in consequence they are open to recantation and refutation. (I have been raised in an eastern europe communist country and been lied to a significant part of my life).
<br> I enjoy this path of questioning everything, why do we do things a certain way.
<br><br>In 2001 my first job was sysadmin working for a big Eastern European Internet Service Provider
<br>Many customers asked to move their web servers and mail servers on our premises.
<br>It was because their services would access directly the big pipe and we had a generator. 2001 Eastern Europe meant lots of power outages ... daily.

<br><br>They would bring desktop tower PCs that we would place on and under lined up tables against the wall. Soon enough, we ran out of physical space on those tables and bought racks.
<br>We asked customers to buy rackable servers in order to host with us, then we ran out of space again, we build an awesome datacenter and somewhere 2005 we ran out of space there too. We started using VMs with kvm.
<br><br>Fast forward, today our datacenters are collections of those stacked boxes that used to be desktop computers. To me, this is insane, does it make any sense to you? Should we go down the timeline of computer history and disagragate it all and have racks of compute, memory, storage, networking?

<aside class="notes">
<br>
</aside>
</section>
<!-- Slide4
<section>
<img src="pics/termtosvg_5xxaxp7l.svg" class="stretch"></th>
<aside class="notes">
</aside>
</section>
-->

</div>
</div>
Expand All @@ -638,7 +644,7 @@
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: false,
controls: true,
history: true,
transition: "fade",
dependencies: [
Expand Down
2 changes: 2 additions & 0 deletions itnot/notes
Original file line number Diff line number Diff line change
Expand Up @@ -267,3 +267,5 @@ https://blogs.msdn.microsoft.com/peterwie/2006/03/09/what-is-dma-part-4-common-b
https://opensourceforu.com/2016/10/network-performance-monitoring/
https://www.youtube.com/watch?v=54VemA4tLkY NVMeOF
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/7/html/tuning_guide/isolating_cpus_using_tuned-profiles-realtime isolcpu
https://www.youtube.com/watch?v=iBkR4gvjxtE

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added itnot/pics/bpf-hooks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added itnot/pics/ecl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading