Archive for May 2011
Introduction to Erlang : Concurrency (Processes)
Concurrency
Concurrency is defined as “the temporal property of two things happening at the same time” (according to WordNet). In Computer Science, the definition is “concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other. The computations may be executing on multiple cores in the same chip, preemptively time-shared threads on the same processor, or executed on physically separated processors.” (according to Wikipedia).
In practise, if two, or more, tasks are concurrent, then they can run in parallel. This implies that there are no data dependencies among them. For example, the following tasks
- unlock the car (the car was locked)
- start the engine of the car (the engine was off)
- drive the car
are non-concurrent since they have dependencies. One cannot start the engine of the car without first entering the car and she cannot drive it without first starting the engine. These tasks have to be executed sequentially (with a predefined order) no matter if more than one person (processing unit) help. On the other hand
- doing the laundry
- washing the dishes
- go for shopping
can be potentially run in parallel. For example, three different family members can handle one task each. Moreover, if only one person has to do all the tasks, she can decide to perform them in any order she decides since there are no dependencies among them.
Read the rest of this entry »
Windows 7 “Advertisment” : Surf the web or surf Hawaii
I haven’t laughed that much for a long time!
Microsoft, in an effort to convince the users to buy a PC (running Windows 7) over a Mac, launched the following advertisement where it compares several Macs with Windows 7 based PCs.
In principal, I agree with the concept; why paying so much money for a Mac? But:
- Surf the web or surf Hawaii??? Using a Windows PC, aren’t you supposed to be able to surf the web also :-D? Maybe say “Surf the web, surf Hawaii, or both”!
- They could use PCs with the same (or more similar) CPU with the respective Mac in order to be more convincing..
Anyway, Microsoft is fun.. and desperate (??). Do the math.