Message passing improves the scalability of parallel systems
Jun 26, 2024
in •
C
•
C++
•
ERLANG
•
GROOVY
•
JAVA
•
PYTHON
performance
c++
java
python
groovy
memory
systems
system
processes
data
3 min read
Already in the first lectures on computer science, programmers are taught that concurrent computing – and especially parallel computing as a special subtype of concurrent computing – is a difficult task, and that only the best have a hope of coping with it, and that even the best do not manage to do so. Great attention is invariably paid to threads, semaphores, monitors, and the difficulties of organizing thread safety with simultaneous access to variables.
There are indeed many complex problems here, and solving them can be very difficult. But what is the root of the problems? Shared memory. Almost all the problems of concurrent computing that we constantly hear about are related to shared memory with mutable data: race conditions, deadlocks, livelocks, and so on.
...
➦ First say yes
Jun 18, 2024
in •
EDAMAME
edamame
product
request
round
windows
work
3 min read
Recently, I was at the grocery store and searched for edamame, green soybeans (I only vaguely guessed they were some kind of vegetable). I didn’t I knew where to look for this product: in the vegetable section, in the frozen section. products or on the shelves with canned goods? Finally, I gave up and asked a store employee for help. She didn’t know either!
The store employee could have reacted to my request in different ways. She could have made it clear that only a fool doesn’t know where to look for it, or just brushed it off. vague hints, or even just say that they don’t have such a product. But she deemed it possible to find a solution and help the customer.
...
➦ Thinking about performance is never too early
Jun 03, 2024
first
performance
system
testing
requirements
issues
3 min read
The needs of business application users manifest primarily in the functional requirements. Non-functional aspects of the system (such as performance, flexibility, uptime, support needs, etc.) are the responsibility of the architect. When this preliminary testing of non-functional requirements is often postponed until a very late stage of the development cycle, and sometimes fully delegated to the team servicing the system.
This error occurs much more often than it should. At its core, it can there are various reasons. Concern for the speed and flexibility of a program that still doesn’t properly perform the required function may seem pointless. The test environments and the tests themselves are quite complex. It’s possible that early working versions of the system won’t be subjected to realistic loads. due to insufficient use.
...
➦