Check out my udemy Introduction to Database Engineering course husseinnasser.com/courses Learn the fundamentals of database systems to understand and build performant backend apps
@donjohnny5571
3 жыл бұрын
Hey Hussein! I love your content! Can you make a video on WebAssembly?
@SheikhYourbutty
3 жыл бұрын
Hey Hussein! Interesting topic as usual. Additional way to perform CPU intensive task is to consider using high level streaming frameworks like Akka, Apache Storm. It gives you abstraction over "low level" threading and queues mechanisms, so you implement business logic only and easy api for managing parallelism for performing concurrent jobs. Of course it comes with price of additional resource of managing framework itself.
@ThameemAbbas
3 жыл бұрын
ML Inference is one use case that this video completely applies to. And based on the model architecture there tend to be cases where the CPU can be underutilized if only once instance of the model is running. To people who say ML is to be done on GPUs or TPUs, there are models that can't really run on GPUS. Hussein 🔥 Absolutely great content. No Bullshitting whatsoever.
@abhishek-agarwal
3 жыл бұрын
Made my first ever production mistake in my entire software engineering career and that too a big one🥶.... LESSONS LEARNT!!!
@jayashreen474
3 жыл бұрын
Thanks for explaining the topic in detail. It really helped to brush up my basics.
@chunheguo9230
3 жыл бұрын
ETL (extract, transform, load) usually is also an CPU intesive. Data coming in, isn't in the format you want/need, so the transformation is usually CPU intensive.
@clementcazaud8040
3 жыл бұрын
Well, is that the type of scaling Hussein speaks about? As I see it, ETL technos scale horizontally one single operation by dividing and parallelizing its processing on multiple machines and reassembling the result (sort of), aka MapReduce. To me, Hussein seems to think (the topic) more like scaling not a single operation, but multiple concurrent operations, aka load balancing... Also ETL implies big IO operations which is the first reason for it to scale that way, MapReducing datalakes, big data... Not because it's computing intensively strictly speaking... It might not be... In IT industry, generally speaking, most often, IO (=>LE) would be the bottleneck long before the computing (=>T) of these IO results (at least from my experience that is what it is)...
@chunheguo9230
3 жыл бұрын
@@clementcazaud8040 Depends on the complexity of your data. Sometimes your data can only be split at the top node, and anything below it cannot be split into different processes/threads. In that case due to nested dependencies/references your are doing heavy computation/memory work and IO isn't the issue anymore, since that object is already in memory.
@clementcazaud8040
3 жыл бұрын
@@chunheguo9230 indeed, seeing it that way, it makes sense to me :)
@velo1337
3 жыл бұрын
what ppl also forget about pure cpu intensive workloads is that you are still bound to the max tpd Wattage of the cpu/mainboard and on the configuration of the in intels case, turbo boost. sometimes it gets slower if you use more/all coresdue to the fact that the system start to reduce the clockspeed per core
@haloboy777
3 жыл бұрын
One way you can consider if your workload allows for it, is to divide the input into smaller chunks and run multiple instances of same process/program to process those chunks independently and then spin up a process to get the final data from all those intermediary processed data. Effectively this is horizontal scaling. lol.
@MrYokyScape
3 жыл бұрын
Very similar concept to Map Reduce.
@MikeNugget
3 жыл бұрын
I've already bought your Backend course but now highload and scalable websockets in my wishlist 😁
@joshuaifara2736
3 жыл бұрын
Thanks a lot Hussein. Please can you do a similar video on I/O intensive (especially database) backends. Thanks again
@VivekYadav-ds8oz
3 жыл бұрын
TL;DW: Scale vertically first, by spinning up more threads and parallelize workflow, buy a beefy multi-core CPU.
@usamatahseenulhaque9125
3 жыл бұрын
Full of information as usual
@tarmac5482
3 жыл бұрын
I think an efficient code is a mighty factor too so to get the most out of each bit. Especially mathematically intensive tasks such as encryption. May be go as low-end as possible to take most out of it.
@srinivasuluyerra7849
2 жыл бұрын
hey Hussein, we did almost same thing in our grpc servers, running multiple workers with option so_reuseport, but as you said it made a sticky connection and sending all requests to same worker...any pointers on how to or where to look to loadbalance it properly
@iammjpops
3 жыл бұрын
Won't comment on content.. undoubtedly best. Was curious about the sword in the background.
@mikinyaa
3 жыл бұрын
In most cases I prefer to use producer consumer pattern to scale the workload across cores and machines
@inquisitive8086
3 жыл бұрын
Let me introduce you guys to a very powerful tool to analyze how your CPU on a single machine is being used by your program. It's called a FlameGraph, developed by the very talented Brendan Gregg - www.brendangregg.com/FlameGraphs/cpuflamegraphs.html. Very useful in understanding how you can optimize your program and squeeze every last bit from a single machine before you scale to multiple machines using whatever scaling policy (e.g. 80+ % CPU utilization)
@svikas641
3 жыл бұрын
How come nobody commented on the Sword behind him 😂
@Ant381637
3 жыл бұрын
Hey Hussein, your reflection on the youtube button disturbs me, like there is someone else, not just you.
@aamirjamal6833
3 жыл бұрын
The katana in the background distracts me
@atkevindsouza
3 жыл бұрын
Wow, not to whine or anything but the camera quality seems pretty bad. Cheers!
@Rxlochan
3 жыл бұрын
I think Hussein uses iPhone camera to record 🤔
@atkevindsouza
3 жыл бұрын
@@Rxlochan Oh, no worries then
@skycatalysm504
3 жыл бұрын
Yep it seems a little pinkish? Or the contrast or lighting is too much. I think the camera 3 months ago was better! But still you are the best Hussein!
@atkevindsouza
3 жыл бұрын
@@skycatalysm504 Yeah, the lightning is absolutely destroying the details. Anyways as you said the content is great as always! I just pointed it out cause his expressions were what made it so pleasing to watch, but now everything was gone, lol.
Пікірлер: 33