Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #868
| From | vincent_belliard <vincent@famillebelliard.fr> |
|---|---|
| Newsgroups | comp.programming |
| Subject | Re: parallel programming |
| Date | 2011-09-27 02:40 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <33b5ed3b-c0b0-4f4e-a892-bdec0ed1849e@u13g2000vbx.googlegroups.com> (permalink) |
| References | <90b45b75-2a5e-4390-9436-8c5fe5ccd06c@z41g2000yqb.googlegroups.com> <fymgp03p26g9.1763csrecuonl$.dlg@40tude.net> <4e7cf020.91690274@text.giganews.com> <11mqgf2emmey1.168vxn0ccau5g.dlg@40tude.net> |
I think I introduce a little confusion. First, it’s clear that I didn’t make all my home works. I didn’t know everything about parallel programming (but who does?). When I talk about parallel programming I didn’t mean “heavy computation in parallel”. I know that most of you think that first and I apologize for that. In fact I meant more “distributed programming”. It’s also some parallel programming, but the problem is not the same. I already did an implementation with my entity concept. It was done in C++ for a call center program. For such a program, you have an object for each call, for each VXML or CCXML session, and many more. Each of these objects communicates with the others with asynchronous one way messages. It works perfectly well and we can manage thousands of calls in parallel. When I started thinking about the entity language, I wanted to put directly in the language the concepts I made over C++. The result is not a new theory on computer languages but a mix of all the little things I developed over the years. I think it’s quite homogenous but it won’t cover all the software design problems. The language is quite immature because I only work a few hours every week. It’s difficult to make in parallel the implementation, the tools, the documentation and the forums. Entities are not tasks or whatever you called it. They are based on actors (with a little bit more). A task is strictly synchronous. It starts, performs all what it has to do (including sending and receiving messages), waits when it has nothing to do and finally dies when everything is finished. An entity is just an object in memory (or several objects). Nothing is executed by default. When a message is sent to an entity, the entity is associated with a thread (by an entities manager), the entity does all what it has to do (including sending messages) and then gives back the hand to the entity manager (which can use the thread for another entity). The entity can work a long time before ending the message but during this time it won’t be able to treat any message. It’s fully asynchronous. One of the aspects of entities it’s that entities which doesn’t have file descriptors, can be stored on disk (in a database like MongoDB). In such a case, when a message is sent to an entity, the entities manager loads the entity in memory, executes the message and then writes back the entity on disk (it’s like a stored procedure execution). I don’t agree when you said that synchronous operations (like RPC) are faster that asynchronous. If the whole problem is thought asynchronous it’s very efficient. On the other hand, mixing the synchronous and the asynchronous model is quite inefficient. The entity language will also evolve thanks to your contributions. It’s the aim when I post on forums. Vincent Belliard
Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar
parallel programming vincent_belliard <vincent@famillebelliard.fr> - 2011-09-22 11:30 -0700
Re: parallel programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-09-23 16:56 +0200
Re: parallel programming cri@tiac.net (Richard Harter) - 2011-09-27 02:03 +0000
Re: parallel programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-09-27 10:48 +0200
Re: parallel programming vincent_belliard <vincent@famillebelliard.fr> - 2011-09-27 02:40 -0700
Re: parallel programming cri@tiac.net (Richard Harter) - 2011-09-28 17:09 +0000
Re: parallel programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-09-28 20:31 +0200
Re: parallel programming cri@tiac.net (Richard Harter) - 2011-09-29 09:13 +0000
Re: parallel programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-09-29 14:46 +0200
Re: parallel programming vincent_belliard <vincent@famillebelliard.fr> - 2011-09-29 10:19 -0700
Re: parallel programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-09-30 10:33 +0200
Re: parallel programming cri@tiac.net (Richard Harter) - 2011-10-01 16:12 +0000
Re: parallel programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-10-01 20:27 +0200
Re: parallel programming cri@tiac.net (Richard Harter) - 2011-10-02 19:29 +0000
Re: parallel programming "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2011-10-03 09:13 +0200
Re: parallel programming cri@tiac.net (Richard Harter) - 2011-10-03 05:49 +0000
Re: parallel programming Rui Maciel <rui.maciel@gmail.com> - 2011-09-29 12:03 +0100
Re: parallel programming vincent_belliard <vincent@famillebelliard.fr> - 2011-09-29 10:28 -0700
Re: parallel programming Rui Maciel <rui.maciel@gmail.com> - 2011-09-29 23:09 +0100
csiph-web