mercredi, juin 27, 2007

\subsection{Memory Alignment Nightmares}

%Sometimes, the smallest detail in the hardware architecture can turn into a permanent nightmare for the software developer, and how the IXP deals with unaligned structures in memory is one of them. It should be reminded to the reader that DRAM is organized internally in units of 64 bits, and that it is typically not possible to request the read of an individual byte from memory.
%This is something RISC programmers are used to and the presence of \texttt{ld\_field} microinstruction is often sufficient to extract proper byte(s) out of a transfer register.

%However, in the case of network programming, things quickly get wild. Indeed, what the hardware will store in DRAM is a complete L2 frame, e.g. starting with Ethernet source and destination addresses and ending after Ethernet checksum trailer. Given the size of Ethernet header, for instance, that implies that the IP source address needs to be reconstructed from two transfer registers and that 16 bytes must be retrieved to read the IP destination which happens to be split on two distinct longwords.

%Of course, if the packet was delivered over a SONET or CSIX interface rather than from Ethernet, the alignment offset is no longer the same. We thus need to compute in the classifier where in the DRAM longword the IP headers start and branch to code that can properly extract fields in that case.

%\label{crc-and-byte-align}


%Things even get more complicated with ESP (and wasp) headers where the presence of options in the IP header could make the ESP block appear virtually at any offset. The size of ESP headers has been carefully picked so that (64 bit) operands are naturally re-aligned in the base case (Ethernet frame and no options in IP headers), but this is only an optimization. The code for reading or updating operands in ESP filter thus needs to be duplicated 8 times for accomoding every possible mis-alignment.


%In WASP microblock, we chose a different approach involving a special instruction\footnote{\texttt{byte\_align}, which is especially tedious to use properly in the IXP2400 serie}, which allowed us to keep most of the code independent of the actual realignment, but at the expense of higher granularity in data transfers. Thanks to the fact that WASP packets data are multiple of 32 bytes, that higher granularity causes less troubles for us than in the ESP filter and we can still achieve good performance.


-------------------

Il y a des bouts de ma thèse, comme celui ci-dessus qui finissent intégralement en commentaires. J'avais essayé de leur donner un ton intéressant, ils témoignent d'une semaine particulièrement pénible où, alors que je croyais avoir trouvé *là* solution, le même problème bêtement technique apparaît à nouveau...

En relisant, c'est une section tout entière "So you Want to be an IXP programmer" qui se retrouve disséquée, éparpillée par-ci par-là dans les autres chapitres et des sous-sections comme celle-ci passent entièrement à la trappe: je n'arriverai pas à donner suffisamment d'info au lecteur pour qu'il puisse comprendre le dilemme ... pourtant, j'ai envie de pouvoir partager ce genre d'expérience. Vous ne comprenez rien au texte ? Bilou va vous expliquer ça mieux que moi.

lundi, juin 25, 2007

Une nuit d'un chercheur

Quand une idée pareille vient, plus grand chose d'autre n'a d'importance.
Peu importe qu'il soit 2 heures du matin,
Peu importe si l'orage gronde au loin.

Peu importe si le labo est à une demie-heure de route de là.

La seule chose qui compte, c'est de savoir si oui ou non, on a enfin trouvé la combinaison gagnante de ce tiercé scientifique qui nous tient en échec depuis des semaines... "Elementaire, mon cher", c'est ce qu'on se dit à soi-même, sans trop savoir si on doit être fière de cette découverte de génie ou se maudire de ne pas y avoir pensé plus tôt.

Autant dire qu'en avalant les kilomètres, il se repasse son scénario en boucle, encore et encore, comme pour se convaincre qu'il a eu raison de faire une croix sur quelques précieuses heures de sommeil.

Le labo, enfin. La voiture garée en dépit des marques -- de toute façon totatlement vaines à une heure pareille -- en moins de temps qu'il n'en faut pour le dire, et c'est le temps de savourer les derniers instants d'incertitude où l'on peut rêver d'avoir enfin trouvé.
D'un pas nonchalant, il rejoint l'ascenceur et tape machinalement le code d'accès ...

patience ... la machine s'arrête, la porte du labo s'ouvre. Toujours la même phrase bateau que l'ordinateur lui ressert pour le saluer, une phrase qu'il a programmée lui-même en clin d'oeil à un vieux bouquin de SF de quand il était ado, un de ces jour "particulièrement peu productif". Et pendant ce temps-là, elle dort paisiblement, bien-sûr.

L'écran d'accueil, le programme de simulation est lancé en quelques secondes, les paramètres modifiés -- cela paraît si minime, vu comme ça ... Tout clignote en vert: ça peut marcher. Va pour le test définitif.



sur une étagère, un soda l'attend depuis 3 semaines ... le soda de la victoire. Rien d'autre à faire pendant que l'expérience tourne, livrée à elle-même. Il décapsule, un sourire crispé au lèvre et lâche des yeux les séries de chiffres qui d"filent.

Dehors, l'orage se rapproche encore.

vendredi, juin 22, 2007

Pfouh!

"Welkom bij lampiris" "un agent va vous répondre, merci de bien vouloir patienter"

Entre les notes de crédit que je n'ai pas eues, les mises en demeure que je dois ignorer et le temps d'attente au téléphone (nettement raccourci par rapport au mois de mars, mais quand-même), faire suivre sa livraison de gaz et d'électricité dans le contexte actuel de la libéralisation d'énergie relève presque de l'épopée épique (et colegram).

Enfin, grâce à Samuel et Malika, ça commence tout doucement à se résoudre ...

Wait & See

jeudi, juin 21, 2007

Tonnerre de Brest!

Petite question d'examen de Tintinologie que je dois à Thierry sur ce temps de midi.

"Quel est le nom du bateau du Capitaine Haddock?"

Bin, j'ai séché dessus. Ca c'est terminé au pendu, et même avec presque toutes les lettres, j'ai dû donner ma langue au chat.
Et vous? Trouvé ? En panne ? Trop facile ?

Quoi qu'il en soit, rendez-vous sur http://www.free-tintin.net/ ^_^

mardi, juin 19, 2007

i feel like i could ... write down my thesis...


Si vous passez dans les couloirs de Montef, vous trouverez ici et là des bouts de BD. Calvin & Hobbes, le chat de Geluck ... et depuis ce matin sur la porte d'Oli, un strip de "phdcomics".

Elle: "je crois que j'ai enfin compris ta thèse"
Elle: "Il y a ce problème, qui est très très important. Et toutes les recherches qu'on avait fait jusqu'ici ne le résolvent pas vraiment"
Elle: "Mais avec ta solution, ça marche ... enfin, avec quelques conditions et des hypothèses ... Qui peuvent peut-être s'appliquer à la réalité, ou peut-être pas"

Lui: "Euh, tu sais, tu me décris juste n'importe quelle thèse, là"
Elle: "Quoi? Elles disent toutes la même chose?"

samedi, juin 16, 2007

Lettre Ouverte à Beldi.be


Un jour il ne restera plus qu'un baril de pétrole ... Vous savez à quoi il servira ? je vous fiche mon billet que ce sera soit pour faire avancer un tank, soit pour faire clignoter une enseigne lumineuse.

Et de tous côté, les gens un rien sensé tentent de nous faire économiser les déchets plastique inutiles. Je pense aux sacs réutilisables qui ont définitivement supplanté le sachet GB qu'on ramenait à la douzaine tous les week-ends.

Croyez vous qu'ils en fassent de même du côté marketting. Non, évidemment. Toutes les semaines, nous recevons des kilos de pub qui vont constituer la plus grande partie du papier à recycler. Déjà ça, ça m'agace. Mais qu'en plus ces pubs soient distribuées sous emballage plastique, là, je dis stop.
On va où ?

Messieurs les marketteurs de beldi.be et autres, vous ne pouvez continuer à ignorer que vos emballages anti-pluie rendent inutilisable une grande partie du papier recyclé, puisque la plupart ne prennent pas la peine de déballer vos journaux avant de les envoyer à la collecte des vieux papiers. Et je soupçonne fort la Poste d'être complice de cette aberration en proposant un service spécial aux compagnies de grande distribution.

Alors messieurs, je vous annonce dors et déjà que la coupe est pleine. Dès lundi, ma boîte au lettre affichera définitivement un "pas de publicité" et j'invite quiconque n'aime pas déballer des pubs sous cellophane à faire de même. D'autant que les communes se sont maintenant armées pour faire face aux distributeurs peu scrupuleux qui déciderait d'ignorer ce genre de recommandation.

mercredi, juin 13, 2007

le mod de la semaine (trsi / defloration)

Une machine : l'amiga
Une démoparty: the party '93
Un mythe : TRSI
Une légende: "defloration"

C'était une époque grandiose de chevaliers conquérants du code
C'était l'époque de la guerre épique des micros contre la montée des PC

Pour ceux qui ont un petit disque et un gros plugin, vous pouvez vous extasier devant les maigres 400K de la version originale ... pour les autres, grâce à modcast.de, vous avez le beau MP3 fidèle à l'original (c'est la photo pareille dans l'appareil photo, dirait sttellla).


un service bien sympa, d'ailleurs, modcast.de ... j'y retournerais.

A p'luch' (comme disait Teddy)

mercredi, juin 06, 2007

Kowa-bunga

Qu'est-ce qui est vert, porte un nom de peintre italien et se fait livrer des pizza dans un égout ?

Si vous avez pensé à Leonardo, Donatello, Michellangello ou Rafaello, bingo. Vous avez gagné le droit d'aller écouter le mod de la semaine.

Et vous savez quoi? j'approche de la trentaine. Dans la société actuelle, c'est pas dur à voir: dès que vous approchez de cette limite, tous les dessins animés et BD de votre enfance se font porter en film sur grand écran.

Il y a quelques années, c'était le tour des lecteurs de comics (j'en veux pour preuve les triples X-men et Spiderman). Et là ... bin ils nous ressortent un "Tortue Ninja 3" cet été. Lol.

lundi, juin 04, 2007

Clicker32

Une vieille (mais alors là, toute vieille) fausse capture d'écran de Clicker, le projet de système d'exploitation sur lequel j'ai bossé pendant près de 10 ans (de 1996 à 2006).

Juste pour le fun, et pour que les curieux aillent faire un tour sur le site du projet.

J'ai été assez actif sur le forum "mega-tokyo.com" pendant pas mal d'années, mais maintenant, la thèse ne me laisse plus trop le loisir d'y passer ... pourtant, je ne peux pas m'empècher -- malgré le côté ultra-pénible de l'architecture des PC actuels -- d'avoir envie de faire fonctionner mes propres drivers USB, etc, etc.

En clair, tôt ou tard, j'y reviendrais, mais pour l'instant, je m'offre une "pause bilou" avec ma console DS

Au plus fort de ça vraie existence, Clicker ressemblait plutôt à quelque-chose comme ça. Une série d'écrans de debugging avec de jolies boi-boites pleines de trucs en hexadécimal.

Beyond Infinity avait baptisé la méthode de communication avec l'OS le "finger tap-dancing" ou "claquettes des doigts" à cause des sauts de puces que les CTRL+F5 SHIFT+F4 CTRL+F3 faisait faire. Une séquence de test consistait assez généralement à suivre une telle série de "combo" entrecoupées de rares ENTER ou SHIFT+SPACE à faire pâlir les concepteurs de guitar hero :P

Et côté "GUI mockup" (fausse capture d'écran), je ne m'en suis pas tenu là, avec mon "Search Pannel", le "future shell" et le "future desktop"... Bref. C'était une autre époque avec d'autres rèves et d'autres contraintes.

P2P ...

Depuis peu, je suis le blog de handyfloss, notamment à cause de son article sur le Peer-to-Peer (bittorrent, en l'occurence)

http://isilanes.blogspot.com/2007/04/peer-to-peer-new-distribution-paradigm.html

Je dois dire que BitTorrent est une de ces technologies qui m'ont vraiment séduit. Au point que j'avais demandé à mes étudiants de me faire une sorte de "passerelle" HTTP/Bittorrent comme travail de réseau. Avec des résultats assez variables mais tout de même deux ou trois très bons travaux.

Si un jour vous tombez sur un peer bittorrent dont l'ID commence par "ULg", c'est qu'il dérive du travail de l'un d'eux (ou que quelqu'un d'autre a pris l'énoncé de ce travail comme base pour son client ;)

J'en ai vu avec des adresse IP du japon! si, si!

Allez, faisons profiter le monde entier du petit tutoriel que j'avais écrit pour la cause ^_^
http://www.run.montefiore.ulg.ac.be/~martin/resources/BitTorrentTutoriel.html