ByteByteGo Newsletter

Share this post

EP37: Process vs Thread

blog.bytebytego.com

EP37: Process vs Thread

Alex Xu
Dec 17, 2022
131
1
Share this post

EP37: Process vs Thread

blog.bytebytego.com

This week’s system design refresher:

  • Process vs. Thread (Youtube video)

  • ChatGPT Timeline

  • DDoS Attack

  • Fallacies of distributed computing


What is the difference between Process and Thread?


ChatGPT history

ChatGPT and copy. ai brought attention to AIGC (AI-generated Content). Why is AIGC gaining explosive growth?
 
The diagram below summarizes the development in this area.

No alt text provided for this image

OpenAI has been developing GPT (Generative Pre-Train) since 2018. 
 
GPT 1 was trained with BooksCorpus dataset (5GB), whose main focus is language understanding.
 
On Valentine’s Day 2019, GPT 2 was released with the slogan “too dangerous to release”. It was trained with Reddit articles with over 3 likes (40GB). The training cost is $43k.
 
Later GPT 2 was used to generate music in MuseNet and JukeBox.
 
In June 2020, GPT 3 was released, which was trained by a much more comprehensive dataset. 
 
More applications were developed based on GPT 3, including:

  • DALL-E: creating images from text

  • CLIP: connecting text and images

  • Whisper: multi-lingual voice to text

  • ChatGPT: chatbot, article writer, code writer 

With the development of AIGC algorithms, many companies have applications to generate text, images, code, voice, and video.
 
I strongly recommend that you play with these applications. The results are astonishing!

👉 Over to you: Have you chatted with ChatGPT? What did you ask it?


What is a DDoS (Distributed Denial-of-Service) Attack?

Why is it hazardous to the services? Here is an example of how DDoS works.

No alternative text description for this image

The purpose of a DDoS attack is to disrupt the normal traffic of the victim servers through malicious requests. As a result, the servers are swamped with malicious requests and have no buffer to handle normal requests.

  • Steps 1 and 2: An attacker remotely controls a network of zombies via the controller. These zombies are then instructed remotely by the attacker.

  • Step 3: The zombies can send requests to the victim servers, exhausting the servers' resources. Since zombies are legitimate internet devices, it is difficult to distinguish DDoS traffic from normal traffic.

An example of a common DDoS attack is an SYN flood.
 
Normally the client and server establish a TCP connection via a 3-way handshake. As a result of an SYN flood attack, zombies send many SYN requests to the server, but they never return an ACK from the server.
 
This results in an exhaustion of resources on the victim server due to the accumulation of many half-open TCP connections.

👉 Over to you: Have you encountered a DDoS attack in production? How did you solve it?


Fallacies of distributed computing

About 30 years ago, Peter Deutsch drafted a list of eight fallacies in distributed computing environments, now known as "The 8 fallacies of distributed computing". Many years later, the fallacies remain.


Featured job openings

HEIR: Senior Software Engineer, Full Stack (United States)

1
Share this post

EP37: Process vs Thread

blog.bytebytego.com
1 Comment
David Burt
Writes Worldish
Dec 19, 2022Liked by Alex Xu

So far I've been using ChatGPT mostly for funny satire with friends, e.g. "write X in the style of Y"...

I'd love to see ChatGPT apps that make coding more accessible -- essentially natural language inputs for creating software.

Expand full comment
ReplyCollapse
TopNewCommunity

No posts

Ready for more?

© 2023 ByteByteGo
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing