BGP Site of Origin (SoO)

SoO is something that I have read and I forget often so trying to stick it in my mind here. Found this link that I think it is quite good.

Definition:

Ensuring a loop-free network in particular multi-homed MPLS Layer 3 VPN sites. BGP SoO is a tag that is appended on BGP updates to allow a peer (PE) to mark a particular prefix as belonging to a particular site. 

In certain MPLS L3 VPN configurations, the BGP AS-Path may not provide the granularity needed to prevent a loop in the control-plane. For example when your CPEs in a site peers with PEs (multisite) from the SP using the same ASN, that means you need to use "allow-as in" in your CPEs. 

Scenario:

This scenario has two issues:

  • Suboptimal routing
  • Routing loop under failure.

Solution:

Configure a unique SoO code for each multihomed site on the PE routers.

This is just an intro as I want to create a lab with this.

Wafer-on-Wafer

After reading about wafer scale, I found this other new type of processor:

The Bow IPU is the first processor in the world to use Wafer-on-Wafer (WoW) 3D stacking technology, taking the proven benefits of the IPU to the next level.

An IPU is an “Intelligence Processing Unit”. With the boom of AI/ML, we have a new word.

There is a paper about it, from 2019, but still interesting. I haven’t been able to read fully and understand it but the section 1.2 about the differences between CPU, GPU and IPU helps to see (very high level) how each one works.

CPU: Tends to offer complex cores in relatively small counts. Excel at single-thread performance and control-dominated code, possibly at the expense of energy efficiency and aggregate arithmetic throughput per area of silicon.

GPU: Features smaller cores in a significantly higher count per
device (e.g., thousands). GPU cores are architecturally simpler. Excel at regular, dense, numerical, data-flow-dominated workloads that naturally lead to coalesced accesses and a coherent control flow.

IPU: Provides large core counts (1,216 per processor) and offer cores complex enough to be capable of executing completely distinct programs. IPU only offers small, distributed memories that are local and tightly coupled to each core. And are implemented as SRAM.

From a pure networking view, their pod solution uses 100G RoCEv2. So no infiniband.

In general, all this goes beyond my knowledge but still interesting the advances in processor technology with “wafer” likes design. It seems everything was focused in CPU (adding more cores, etc) and GPU. But there are new options, although the applications looks very niche.

Rosquillas

This is nothing new. I make rosquillas each year for Easter to bring back some good memories and keep a personal tradition. I notice that each year I look for a recipe but always follow the same one I saved in my laptop many years ago and I want to celebrate that recipe. The site doesnt exist anymore but at least give it the honors anyway.

Ingredients:

  • 2 eggs
  • 100g sugar
  • 80ml milk
  • 80ml olive oil
  • 50ml anise liquor or sambuca.
  • peel of 1 lemon
  • 1 tsp of bicarbonate of soda
  • 350-400g plain flour
  • 500ml olive oil for frying + plus a bit more for dipping your fingers.
  • A plate with sugar to coat the rosquillas
  • A plate with a fine layer of white wine to dip the rosquillas
  • A plate with kitchen paper to dry the rosquillas after frying.

Process:

  • Add the olive oil to a frying pan at medium-low heat. Add the lemon peel. I use a small frying plan, that fits two rosquillas. So I dont use all oil at once. I refill the frying pan during the process.
  • Whisk eggs and sugar until well combine in a big bowl.
  • Keep whisking and add bit by bit the milk, olive oil and anise to the eggs mix.
  • Add bicarbonate to the flour, and add 300gr aprox to the wet mix. You will have to use a wooden spoon to keep mixing.
  • The dough should be a bit sticky and soft but fully combined. I think I used aprox 375g of flour.
  • Let it rest.
  • Put the frying pan at medium heat. Be sure you have all plates ready (sugar, white wine, kitchen paper)
  • Once you think the oil is hot enough for frying, remove the lemon peel (should be crunchy and not burnt!!!)
  • Dip your fingertips in a bit of olive oil, take a bit of dough, like a small meat ball. Make a ball with your hands, then with one finger make a hole and turn the dough like a gymnastic with a hoop.
  • First time, just fry one rosquilla and see how it goes. You want to be sure the oil is in the correct temperature. If it is too hot, the rosquilla will get brown too quick and the center will not cook. If it is cold, the rosquilla will absorve too much oil.
  • Once one side is fried, turn it. Once both sides are equal, remove from the pan and let it dry with the kitchen paper. The rosquilla should have double the size!!!
  • Now, add two rosquillas to the frying pan.
  • Take the dried rosquilla, dip it both side with a bit of white wine (you may hear a sizzle – that’s good, the rosquilla is still hot) and then coat the rosquilla with sugar. Not too much. Then put it in a plate. Although this is quick, keep an eye on the rosquillas on the frying pan.
  • Repeat the process, remove the rosquillas from the pan, let them dry a bit the excess of oil, add two more to the pan, and dip/coat.
  • You may have to refill the oil in the pan, that’s ok. You want the oil to cover the rosquilla when you add it. The rosquilla will grow that’s expected.
  • Once all done, let the oil to cool down. You can keep it in an oil tin and reuse another day.
  • I put the rosquillas in a biscuit box. After trying a couple of them
  • This recipe can produce 17-18 rosquillas depending on size.

This is the result!

And to be honest, the next day, they were better and still soft!

Leek and Mushroom Pasta

I took “inspiration” in this video to cook something with leeks.

Ingredients:

  • 2 big leeks: cleaned as per video and sliced
  • 200g mushroom: cleaned and sliced
  • 3 cloves of garlic finely chopped
  • 5 sheets of lasagne
  • 1 vegetable or beef stock cube + 500ml boling water
  • 20ml cream
  • 1 tsp chilli paste – optional
  • 2-3 tsp soy sauce – optional
  • Splash of white wine – optional
  • 50g of grated cheese
  • 1 bunch of asparagus
  • 1 green pepper sliced
  • salt + pepper + a bit of butter

Process:

  • In a hot pan, fry the mushrooms, they should sizzle.
  • Add the garlic, be sure doesnt burn!
  • Add the leeks to the pan. Keep stirring so nothings sticks to the pan.
  • Season with salt + pepper.
  • Add the chilli, soy sauce and wine.
  • Disolve the cube stock in the boiling water.
  • Add the stock to the mushrooms and leeks.
  • There will be a look to liquid so keep stirring.
  • Add the cream.
  • After a couple of minutes, add a lasagne sheet at each time into the pan. The sheet should cook in the liquid. Repeat with all of them.
  • The sheets should break down and the sauce shouldnt be very dense anymore.
  • In a baking dish, use a bit of butter to cover the bottom and pour the mushroom and leek mix.
  • Pre-heat the oven at 200C
  • In the same pan, fry the asparagus and green pepper until they are charred.
  • Add them on top of the mushroom and leeks.
  • Add the grated cheese on top of the asparagus
  • Bake in the oven for 15 minutes aprox, until the top is brown.

This is the result:

To be honest, it was quite tasty! I liked the idea to cook the lasagne sheets in the same pan with all vegetables.

Forward The Foundation

So this is the end of Foundation series. I liked it, nice twists in the story, some drama and deaths. Robots and mental powers are the key! So all is connected at the end. Although the last sentence of the book looks like to leave something open. To be honest, I dont like the typical “Hollywood End” where everybody is happy ever after.

Pain aux Raisins

I wasn’t fan of this pastry until some time ago that I tasted it at this bakery. Since then I wanted to try so last weekend was finally the time. I used this video as inspiration (recipe) I used my typical croissant dough, pastry cream and soaked the raising as the bakery mentions.

Pain aux Raisins Ingredints:

  • 1 or 2 bags of your favourite tea
  • 200g or raisins, sultanas and mixed fruit
  • Bloody orange marmelade
  • Splash of spirit (scotch, rum, etc) – optional
  • 1 egg for egg wash.

Process:

  • Boil 500ml of water. Put the tea bags and dry fruit on it. Optional add the spirit.
  • Remove tea bag after a couple of minutes.
  • Let it soak for 1h.
  • ** Do this when doing the croissant folds
  • Filter the liquid (you can drink it) and let the fruit to dry at room temperature

Pastry Cream Ingredients:

  • 500ml milk
  • 2 eggs
  • 4 yolks
  • 125g sugar
  • 75g plain flour
  • 50g butter
  • 1 ts vanilla paste
  • pinch of salt
  • glass sugar to cover the cream

Process:

  • In a pan, put the milk to boil. Add a bit of sugar and dont stir it!
  • In a bowl, mix eggs, yolks, sugar and vanilla. Then Add flour. Mix all well. Add a pinch of salt.
  • Just when the milk starts boiling, remove from the heat, and pour it bit a bit in the egg mix.
  • Return the mix to the pan, and dont stop stirring, this is the key for cooking the flour!
  • Keep stirring until the mix thickes up. You should see bubbles forming up.
  • Remove from the heat and add the butter. Mix until all combined.
  • Spread the cream in a clean tray, spread sugar on top so a crust doesnt form.
  • Cover with cling film and put into the fridge.
  • ** you can do this the day before or while doing the croissant folds.

Croissant Dough Ingredients:

  • 500g strong white flour
  • 12g fine sea salt
  • 55g sugar
  • 40g soft butter
  • 15g dried yeast
  • 140ml cold water
  • 140mg milk
  • 250g butter block – unsalted if possible.

Croissant Dough Process:

  • Put flour, salt and sugar in a bowl. Mix all together
  • Add the butter and crumb it with your fingers until all is mixed.
  • In a another bowl, mix water, milk and dried yeast.
  • Make a well in the center of the flour mix and add the liquid. Mix all until all is combined. Dont over do it.
  • Cover the bowl and put in the bridge for 8-12 hours.
  • Make an envelope of 20x20cm aprox with baking paper. Put the butter block inside and pounce the butter until it fills the paper with a rolling pin. You should have a nice thin flat block of butter. Put the envelope back in the fridge
  • Take the dough out of the bridge and place it on a lightly floured surface.
  • Roll it out to for a rectangle double of your butter blocker.
  • Place the butter in the center and then cover it with the rest of the dough.
  • Tap the dough gently with the rolling pin to help to seal the sides.
  • With the seam running top to bottom, roll the dough out into a rectangular shape, roughly 1/2 rolling wide, 1 1/4 rolling pin long (rolling pin aprox 50cm).
  • Brush any flour and fold the dough in thirds. Tap the dough with the rolling pin. Repeat the same process: roll the dough 1/2 rolling wide, 1 1/4 long and fold. This is a full fold.
  • Wrap the dough in baking paper and cling film. Rest in the fridge for 30 minutes.
  • Take the dough and give it half fold, so only roll and fold once instead of twice. Rest for another 30 minutes in the fridge wrapped in baking paper and cling film.
  • Apply the last half fold and put back in the fridge for 30 minutes.
  • Take the cream pastry cream from the fridge and give it a whisk until becomes manageable, like a cream and not solid as we will have to spread it over the dough.
  • Take the dough out of the fridge. In a lightly floured surface, roll it 3/4 pin wide and 1 1/4 long.
  • Spread the pastry cream with a spatula evenly on top of the dough.
  • Spread the raisins, sultanas, etc on top.
  • Roll the dough as like making a giant cigar or pipe line.
  • Get ready two trays with baking paper.
  • Slide the dough roll with a sharp knife. Clean it after each cut. Put each slide into the trays. I managed 16 slides plus two leftovers.
  • Seal putting the seam underneath each slide.
  • Egg wash all slides.
  • Turn the lights from the oven, put the two trays on it and add a small bowl of boiling water. We want to create a proving room.
  • Let it raise for 1h, check it and be sure they dont over proof
  • Pre-heat the oven at 180C-190C.
  • Egg wash again all slides.
  • Put one tray in the oven and add some splash of water to create steam.
  • Bake for 20m aprox or until all golden on top
  • Remove and add second tray.
  • In a small bowl, add 3-4 tsp of bloody orange mermelade and boiling water so it gets thinner and more liquid.
  • Brush the pastries with the mermelade as soon as you take them from the oven.

This is the result!

To be honest, for being the first time, I was quite happy with the outcome.

Room for improvement:

1- I think I put too much pastry cream

2- I think I over proof them (2h in the oven!) as the pastry wasn’t really crunchy.

3- A bit mor fruit?

4- Pastry cream had only 3 egg yolks. I should try 4 and use full fat milk.

NANOG 86

This is something I had in my to-watch list… and finally found some time to check out a couple of talks that looked interesting:

  • Emulating Network Topologies in k8s (Google): video

I liked this talk. It is about network simulation with kubernetes. It reminds me to “containerlab” as it uses containers. I was surprises that Google showed Nokia SROS and Arista cEOS. Do they use them in production? Funny enough, there was no Cisco.

I checked KNE and looks interesting, I should try it at some point.

  •    Towards a new Ethernet for High-Performance Data Centers – Activities and Enhancements in IEEE 802.1: video

Mentions infinibad is still king in top 100 HPC. There are 3 improvements in the pipeline for Ethernet QoS to make PFC more “flow” aware. Still some “time” until it hits the market though.

As well, there is a moment, where it mentions Azure managed to get RDMA working at 100km with MACSEC. I think this is the video.

This is the whole video list and slides.

Chips wars

I was reading this news recently about Huaewi capability of building 14nm chips.

Today, the EDA (Electronic Design Automation) market is largely controlled by three companies: California-based Synopsys and Cadence, as well as Germany's Siemens. 

I wonder, are the export controls good long term? Maybe the solution is worse than the illness…

And based on that, I learned that ASML is the biggest valued company in Europe!

As well, there is a book about “chip wars” that I want to read at some point.

Python: cycle and setattr

This week a colleague refactor a script that I wrote and the end was pretty different from what I did. The logic was the same but the code was very differnt. I learnt two things about python

setattr: This method provides an alternate means to assign values to class variables, in addition to constructors and object functions. It comes in handy when we want to add a new attribute to an object and assigning it a value
cycle: . This function takes an iterable inputs as an argument and returns an infinite iterator over the values in inputs that returns to the beginning once the end of inputs is reached. 

CXL

In one meeting somebody mentioned CXL, and I had to look it up.

Interesting:

Eventually CXL it is expected to be an all-encompassing cache-coherent interface for connecting any number of CPUs, memory, process accelerators (notably FPGAs and GPUs), and other peripherals.