FastCGI Server + Epoll for high performance CDN

Hi, to improve the service into Confiared I’m rewritting the CDN software.

We was with Nginx + Nginx FastCGI cache + PHP (to just proxy the reply). This solution lack fine cache control tuning, some bug due to Nginx cache.

Then I have rewritten the CDN as standalone FastCGI server, the cache is directly controlled by the server. If same url is already downloading, then the content is send from the partial downloaded content. I choose monothread to have great performance without thread coherency code (more simple to dev, more eficience if the code is very fast because if the code is very fast most of the time is consumed into thread management and data migration from a CPU to another CPU).

The code is specific, not flexible and generalist. I parse the protocols (DNS, FastCGI, …) on fly. That’s greatly improve the performance, reduce the memory. An internal page is served 3x more faster than a simple « Hello world » into PHP 7.4.

The future improvement are: better cache, cache some stuff where needed (DNS, …), use io_uring to improve file access and be 3x more fast than Nginx with static file, do profile to optimize the code. (And maybe do my own http server)

Architecture 32Bits, drop the support

Lot of Linux drop the 32Bits support.

What is the problem with other Architecture for Linux and developer?

When you have code abstraction (as Python, Java, C#), porting is transparent then easy to support another architecture. But lot of software in the system are in C/C++, with old code, that’s mean: Each time where you have system specific or architecture specific code, you need adapt to new system/architecture. For 32Bits, in C/C++, some dirty code cast pointer to integer, that’s generate problem on 32/64 barrier, added to less popular each years then less maintained by the owner of each project, …

64Bits support is too hard than do generic support with clean code.

About obsolescence, the ARM quit 32Bits into the last 10 years. I have lot of running hardware in 32Bits. It’s fully functional, very good for the assigned task.

In this context: Every body try hard to just save few % of resources for the earth. We don’t have control on big company then forgot support the last android on 5 years phone. But generic architecture support, it easy (yes not optimized, and?) and prevent:

  • Manufacturing other hardware (less wast, less wars for rare resources)
  • Manufacturing hardware with compatibility, then more silicon, less performance
  • Shipping (resources and problem)
  • Take lot of time for person and company to buy other hardware, change it, configure it, fix for the new hardware

At performance, 32Bits on x86 it’s more slow but for the software with large pointer usage, it use less memory. And the performance is not the target to everyone.

C10B

After C10k (10 000 concurrency connections), C10M (10 000 000 concurrency connections), now C10B is near (10 Billions concurrent connections, 10Tbps, 10 billions packets per seconds, 1 billion connections/seconds). In my case: 1 Billion concurrent connections, 1Tbps, 1 billions packets per seconds, 1 millions connections/seconds)

I have test it with CatchChallenger, with 32 core Threadripper 2990WX , 256GB DDR4, Radeon RX Vega 64.

This experiment can be used for high speed network packet processing for ethernet 100G+ or infinityband device. I have do as R&D for my company router with 1Tbps (at 64B packet size) routing capability certified with benchmark.

I have do stateless filter on IPv6 input, each processing unit after do the state-full work, but with an special dispatching memory access to reduce the cache miss. Mean: IP/TCP processing GPU, CatchChallenger processing CPU.

Difficulty: Very limited into memory, I had used specialized swap technique with barer to delay some class of trafic (move on map: 95% of move, + not published protocol with another vector move to prevent memory access and only parse last pos with need to use previous data), bulk processing of this.

Result:
59ms average reply time
95% 342ms reply time
Burn 1.2Tbps of network bandwidth

Ref: https://link.springer.com/chapter/10.1007/978-3-642-24999-0_44

Ref2: https://shader.kaist.edu/packetshader/

zombiod cheats: server/XpSystem/XpUpdate.lua

xp:AddXP(Perks.Fitness, 99);
xp:AddXP(Perks.Sprinting, 99);
xp:AddXP(Perks.Nimble, 99);
xp:AddXP(Perks.Strength, 99);
xp:AddXP(Perks.Axe, 99);
xp:AddXP(Perks.Cooking, 99);
xp:AddXP(Perks.Blunt, 99);
xp:AddXP(Perks.BluntMaintenance, 99)
xp:AddXP(Perks.Electricity, 99);
xp:AddXP(Perks.Farming, 99)
xp:AddXP(Perks.Fishing, 99)
xp:AddXP(Perks.PlantScavenging, 99)
xp:AddXP(Perks.Woodwork, 99)

xp:AddXP(Perks.Aiming, 99)
xp:AddXP(Perks.Reloading, 99)
xp:AddXP(Perks.Trapping, 99)
xp:AddXP(Perks.Lightfoot, 99)

player:getInventory():AddItem(« Base.Crisps »);

player:getInventory():AddItem(« Base.Axe »);

Petite idée

Bonjour,

 

Question: Si on est capable de de faire un objet à partir de sa photo et deviner un objet à partir de son ombre. C’est possible de reconstruire une personnalité à partir son son empreinte dans le big data?

Et donc par extension réussiter une personne en mettant sa personalité reconstituer dans un corps mécanique?

Bye,

Révolution dans le cinema

Bonjour,

Je souhaite vous toucher 2 mots sur l’évolution du cinema dans les prochaines années.

Quel est le meilleur moyen de réaliser un film? Lire un script, vous imaginer le film, enregistrer votre représentation.

En intelligence artificiel les modèles génératifs sont là pour cela. Il permet de tout faire, sans moyen, juste avec de l’imagination. Ce qui coupe fortement les couts de production, et ce qui vas tout changer dans l’industrie du cinema. Mais particulièrement dans l’industrie des films pour adultes (tabou de société).

Je laisse juste cette note publique pour en rire ou dire que j’avais raison dans quelques années.

Les loies anti-piratage

Bonjour,

Je suis acteur dans le copyright comme dans le copyleft. Laisser moi vous faire imaginer quelques situations:

  • Les vendeurs de roses dans la rue porte plainte contre les sites de rencontre en ligne (car il ne vendent plus à cause d’eux). Il estime qu’il y a un vendeur de rose par rue, avec le nombre de rue, il estime que les sites de rencontre en ligne leur doivent 300 millions d’euro. Cela est ridicule, surtout que après les sites de rencontre peuvent demander des dommages (coupure des sites, images et réputation). Et cela sans chercher a travailler ensemble.
  • Si les intermédiaires techniques peuvent couper le contenu qu’il héberge, sans jugement, les sites de torrent peuvent/doivent demander la coupure des sites d’holywood. En cas de réponse négative il ne sont pas tenu de réagir. Pourquoi holywood ne prends pas la peine d’éduquer (sans criminalisé: si les prix sont trop haut pour vous, nous allons nous couler, mais nous décidons du prix) et de contacter directement les gens?
  • Si les intermédiaires techniques sont responsabilisé sans raison, alors ovh, amazon, google sont coupable
  • Je dit non au procès pour l’exemple (c’est le contraire du mot justice). Je dit oui comme intermédiaire technique à essayer de voir comme satisfaire tout le monde (button: reporter ce contenu illégale, à condition que ce soit pas abusif: comme youtube qui supprime une video pour quelque secondes de contenu sous copy right). Et donc non à la justice a deux vitesse (si une personne c’est fait pirater sont wifi elle vas en prison pour téléchargement illégale: bon moyen d’envoyer sont voisin en prison, si le ministre ou le président fait du téléchargement illégale cela ne s’applique pas: ca leur rapporterai beaucoup pourtant…).
  • J’ai 100 pain pour 100 personne, je vends mon pain 10 000€. La creation du 1er pain m’as couté 100€, les autres sont des copies qui ne me coûte rien. Personne ne peu l’acheter et je subit des vols (les besoins alimentaires ou culturelle sont les mêmes). Au lieux de faire un prix de 1€ je décide de poursuivre ces 100 personnes à hauteur de 10 000€ chaqu’une. Stupide.
  • Si on suit la logique des ayants droits, avec en moyenne 30 téléchargement par mois par personne, le budget des foyers devrai être au moins de 30€ (prix d’un DVD, film, documentaire, …) * 30, soit 900€ tout les mois pour avoir accès à la culture? Ca c’est de la redevance bien chére.
  • Si je compte les taxes sur la copie privée: téléphone, hdd, écran d’ordinateur, … je paye une redevance plus chére que la redevance TV, donc j’ai le droit comme la TV d’avoir du contenu culturel en échange? Ha non, j’ai juste le droit de la fermer. On aura bientôt la redevance sur l’aire qu’on respire car c’est bien connu, les pirates respires.

La bonne attitude face à cela est selon moi de ne pas faire de téléchargement illégale (du moi perdre le reflex de pas payer, payer quand vous trouver que le jeu film vaut le prix annoncé), payer des oeuvres sous licence libre. Mais ce qui est probable qu’il se passe avec cette méthode: Le piratage chute, les ventes aussi, à tel point que les ayant droits doivent mettre la clef sous la porte (le besoin de produit culturel compenser par les produits sous licences libres). Et les gens n’ayant pas l’habitude de payer, se retrouve avec des produits bas de gamme.

D’un coté l’industrie du divertissement envisagerai sérieusement un système de licence globale.

De l’autre les utilisateurs changerai leur habitude de consommation pour payer les bon produits, surtout sous licence libre qui leur garantisse respect, transparence et droit de copie. Et oui, vous pouvez pas demander un truc pro avec des moyens et des gens ayant des années de formations et d’expérience si vous les payer pas. Et venais dans ce cas pas vous plaindre de l’amateurisme. Je fait un peu de pub en passant pour flattr. Actuellement c’est dommage qu’il soit si dure de vivre du logiciel libre.

A bientôt, je vais continuer sur mes logiciels libres, n’hésitez pas à donner si je le mérite.