World: r3wp
[Tech News] Interesting technology
older newer | first last |
Gabriele 18-May-2006 [911x3] | you cannot address the block; you can only get the blocks matching a pattern, and publish other blocks. |
having a defined set of operations, you end up with a system that does not have the usual problems of parallel processing. | |
i don't think there's any need to have this natively, the native code just needs to ensure that you cannot screw things up by mistake :) | |
Volker 18-May-2006 [914x2] | Maybe determinism means here: Some things must happen in order, for example writing to a log? So that different runs produce the same result? |
Which this server-thing should do. | |
Gabriele 18-May-2006 [916] | if you want to log events a and b, and they can happen with watever order, you want to log them in whatever order. if they can only happen in a given order, there is no parallelism. |
Volker 18-May-2006 [917x2] | Just thinking loud about tuple-space: Could xpath and threads go hand in hand? |
But a parralel processed image looks the same all the time, or the processing of a big matrix. Still deterministic. Whatever happens inside the box. | |
Pekr 18-May-2006 [919] | Sun blesses Java phone - http://www.deviceforge.com/news/NS6109398413.html .... java penetration is the reason why I asked if rebol-4-Java would make sense :-) |
JaimeVargas 18-May-2006 [920x3] | Anton, Yes I read the last line and I agree with it. The question is what should Rebol do to takle the concept of concurrency and do it properly, like Erlang, Termite, or Mozart/Oz. |
Volker, I was ilustrating that just using the function TASK is not enough. You need a way to prune non-determinism. The example I posted ilustrate the problem. Your example has the same problem than mine, because TASK it doesn't introduce an order of execution. The fact that your example is coded sequentially doesn't mean that the computation will be carried in that order and produce the same result always. Your example only introduces notatation to pass messages between tasks. | |
Gabriele, using threading only computation with no overlaps is limiting concurrency to one problem space. If that is the case then why add TASKs to Rebol, when we have already processes. The only advantage will be memory use, and context switching time, but not extra gains. | |
Volker 18-May-2006 [923] | Your example looked like locking to me, i saw two threads accessing a shared resource. Semms i missed the point. |
Gabriele 18-May-2006 [924x2] | processes are heavyweight and we don't have fast ipc across rebol processes. |
imho the only reason for task! is because it is lightweight and because communication is very fast. | |
Volker 18-May-2006 [926x4] | Complete determinism makes no sense with parallel IMHO, if you dont allow for some random things, you basically can drop the whole parallel thing. |
Reminds me to VLIW, which made great promises. Then it turned out to be very tricky to precalculate the actions of ~10 ALUs. | |
So i think a coordination language needs more features, so its similar to a general purpose language. While you said above " a coordination language need not specify anything more than coordination." | |
Coordination must allow for some random schedule and be able to "route" based on the runtime-situation IMHO. | |
JaimeVargas 18-May-2006 [930x3] | Coordination can help prune non-determinism, coordination is different than communication between threads, lazy evaluation and continuations couuld help here, using a declarative approach to the whole computation can help get rid off non-determinism. The basic ideas are found in the CTM book. |
Gabriele, Do you have documents that delienate how the communications between tasks will happen? | |
ideas == principles | |
Gabriele 18-May-2006 [933] | Jaime, not yet, but most likely each task will have a message port. |
JaimeVargas 18-May-2006 [934] | Volker, Do you really mean this "Complete determinism makes no sense with parallel IMHO", the idea of paralellism is to be able to perform any computation done by a sequential machine faster, a random paralell machine may have some uses, but none of the mainstraem ;-) |
Pekr 18-May-2006 [935] | huh, cool discussion - not that I would understand most of the things :-) Don't you want Pierre to join us to help you find the correct philosophy? :-) |
JaimeVargas 18-May-2006 [936] | Getting Real Work Shop - https://workshop.37signals.com/ Getting Real is about getting the interface right before you get the software wrong. It's about less software, making change inexpensive and constant iteration. Less paper, more work. Less talk, more walk. Getting Real is about deliverin |
Volker 18-May-2006 [937x2] | What sense makes perfect determinism with multiple physical inputs , like sensors or people entering data? The entries and their order is slightly off anyway. |
It must be determined that things are processed, but not where and when. | |
Louis 18-May-2006 [939x2] | Has anyone made rebol software to fill out forms scanned from paper? |
Whoops. Wrong group, but I'll not post again. | |
Henrik 18-May-2006 [941] | that would be reading with OCR? |
Louis 18-May-2006 [942x2] | No. Just scanned in as graphic file. |
I also want to save the data so I can edit it and fill out the form again later. | |
Terry 18-May-2006 [944] | huh? |
Henrik 18-May-2006 [945] | that sounds a little ineffective? |
Louis 18-May-2006 [946x2] | I am thinking the data would be in a layer above the graphic form. Click in the right spots, fill in the right data, print out the completed form, then save the data with the form for later use. Something real simpe anyone can use. |
There are still companies using paper forms, and I have to fill them out by hand. No fun. | |
Henrik 18-May-2006 [948x3] | that sounds like XForms to me |
openoffice 2.0 has a free XForms implementation. it can save PDF's like this so you can edit them like a real form. I haven't worked with it deeply, but I think you can save data from them in a database. | |
edit them like a real form => edit them like a real form in adobe reader | |
Louis 18-May-2006 [951] | OK, thanks. I''ll check it out. |
Graham 18-May-2006 [952] | An image can be used as a backdrop to a layout. Stick some fields on top and you're done. |
Terry 18-May-2006 [953] | or just make your own form |
JaimeVargas 18-May-2006 [954x2] | What sense makes perfect determinism with multiple physical inputs , like sensors or people entering data? The entries and their order is slightly off anyway You can still have deterministic computation even in such situation. We do have that today with any multitasking OS. Or would you like to have your programs to produce any random result? |
Volker, The fact that events can arrive at any given time doesn't mean that you can not have deterministic paralellel computation. | |
Volker 18-May-2006 [956] | No, i want my program to have s much determinism as needed. I call "perfect determinism" when i know "this stuff is done on cpu3, then the other thing a bit later on cpu4". That is perfectly repeatable. But that is not what i need. "this stuff is done on the next free cpu" is enough. But to do that, i need a language which can determine what this next free cpu is. And for that i need a general purpose language (counting cpus, acountig used time, priorities etc). While you said general purpose is not needed for a coordination language. But maybe i miss simething, maybe coordination means something different? |
JaimeVargas 18-May-2006 [957] | I never said that you need or not a general purpose language. As matter of fact, I don't think being general purpose has anything to do with concurrency. What I understand is than any new features that add concurrency to a language should do so in a manner that avoid non-deterministic results. Some languages have already accomplished this goal, usually avoiding threads. Threads operate more at the OS level than the language one. So I hope R3 bring us good concurrency features, that ensure that our programs are deterministic, otherwise we could be shipping programs that at first glancelook correct and will work, but could fail later in production as the paper points out. |
Volker 18-May-2006 [958x3] | I understood that the should be a coordination language coordinating stuff written in general purpose language. instead of putting coordination features in those languages. |
And Erlang seems to work good, based on general purpose with threads and messages. | |
And their main priority is reliability, so correctness. | |
older newer | first last |