r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Tech News] Interesting technology

Volker
17-May-2006
[893]
'task-server -> 'file-server
JaimeVargas
17-May-2006
[894x2]
Volker, you are proposing data flow through msg queues?
But the msg queue above still has non-determinism involved. Because 
you can not control how TASK handles scheduling.
Anton
18-May-2006
[896]
Why get so excited ? Did you read the last line in that article ?
Volker
18-May-2006
[897]
But what you wrote is similar too
either 1 = random 2[ write%file "Hello"][write %file "world"]

What a task does depends upon what a task gets. I imagine a task 
in erlang as a little engine, which gets things of various kinds, 
wires them together when it has one of each kind and passes them 
further. And that "further" can not be deterministic with real hardware. 
Think of an out-of-order-cpu, a little delay in a memory-fetch and 
the command is processed by another pipeline. And that is without 
routing around crashed things. I prefer to have a full featured language 
to calculate the new route, not something restricted.
Gabriele
18-May-2006
[898x5]
Jaime, I just don't think rebol should manage files. but, you can 
do coordination, just using message ports. and you can write a dialect 
over that.
the real issue is: people always use multithreading, even when there 
is no reason to.
if a thread has to wait for another, then you're just wasting time 
and creating problems with threads.
threads are efficient when they are independent (tasks). otherwise 
you should not use them.
if you want order, don't make two separate tasks. if you make two 
separate tasks is because you don't want order.
Pekr
18-May-2006
[903]
Gabriele - so we will ge threads, which will be simplified for rebol 
users/coders, and some kind of messsage queues?
Volker
18-May-2006
[904]
But IMO Jaime thought he needs sometimes exclusive access, locking. 
After my example he got it mostly, "Volker, you are proposing data 
flow through msg queues?".
Gabriele
18-May-2006
[905]
locking is painful, a server like you propose is much better.
Volker
18-May-2006
[906]
Now we discuss how to put enough determinism in that system.
Gabriele
18-May-2006
[907x2]
i need to read that paper jaime posted; anyway if it's just linda 
style, it's trivial to do with a server handling the tuple space.
i think that if you want determinism you should probably avoid parallel 
processing. parallel processing is good when you don't care about 
determinism - if you care then where is the advantage?
Volker
18-May-2006
[909]
Prepending i understood it and ask for theothers: What isa tuple-space? 
:)
Gabriele
18-May-2006
[910x4]
volker: basically a block of blocks :)
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
[942]
No. Just scanned in as graphic file.