I am trying to make this work, but I have issues with the line

"myhost.com" 9001 start-server

in the documentation. start-server takes a threaded server as input,
and this just does not run as is. I could try with a threaded server,
but I am not sure how to configure it, and what encoding to use.

I am also slightly confused about:
1) whether to use remote channels or remote threads to implement messaging
2) whether I can spawn a second Factor instance from Factor itself or
if I should rather start it manually

Thank you
Andrea

2014-10-19 5:12 GMT+02:00, Chris Double <chris.dou...@double.co.nz>:
> ZeroMQ has a non-blocking mode. You can get a file descriptor that can
> be passed to select/epoll/kqueue. Factor has its own channel and
> serialization system to. See:
>
> <http://docs.factorcode.org/content/article-remote-channels,remote-channels.html>
>
> On Sun, Oct 19, 2014 at 4:30 AM, Andrea Ferretti
> <ferrettiand...@gmail.com> wrote:
>> Thank you for you response. Regarding the possibility if delegating
>> CPU intensive tasks to multiple tasks: what about communication? Is
>> there an idiomatic way to make processes communicate without blocking?
>> There is ZeroMQ, but as far as I know it is blocking. It would be nice
>> to develop something like Erlang/Akka using a pool of processes and
>> cooperative multithreading locally inside each process, but I am not
>> sure what would be the best way to keep a channel among processes
>>
>> 2014-10-15 14:40 GMT+02:00 Björn Lindqvist <bjou...@gmail.com>:
>>> Hi Andrea,
>>>
>>> I'm not an expert, so take what's written below with a grain of
>>> salt. It mostly comes from what I've snapped up from varius places and
>>> reading the mailing list archive (eg
>>> http://search.gmane.org/?query=threading&group=comp.lang.factor.general&sort=relevance).
>>>
>>> 2014-10-13 18:14 GMT+02:00 Andrea Ferretti <ferrettiand...@gmail.com>:
>>>> Hi, I have read in various places, including this mailing list, that
>>>> Factor does not currently have support for (preemptive, kernel-level)
>>>> multithreading, and that adding support for that would require a great
>>>> deal of changes, since the underlying VM and many core words are not
>>>> thread-safe.
>>>
>>> It's true that Factor doesn't have preemptive, kernel-level threading
>>> (I'll just write "threading" from now on when I refer to this
>>> particular brand of threading) and that adding it would probably
>>> require a lot of engineering and restructuring work. But if you dig
>>> into the source, and read the previous discussions, it's clear that
>>> adding threading was always the idea and the Factor VM has been
>>> architected to make it simple to add in the future.
>>>
>>> Whether it actually is simple or not, is a different matter. But it's
>>> much different from, say, the CPython VM which is implemented in such
>>> a way that it would be virtually impossible to add threading.
>>>
>>> Most composite (non-primitive) words are thread-safe and the primitive
>>> words are only "thread-unsafe" in that critical sections aren't
>>> guarded by exclusion locks.
>>>
>>>> Can anyone expand on this? Is there some place where people have
>>>> collected some ideas about the issues that would arise and the areas
>>>> that need work?
>>>
>>> I don't think there is any particularly bloody issues. It's just a lot
>>> of hard work.
>>>
>>> For example interactions between threads and gc can be very tricky. If
>>> two threads need to allocate memory, there needs to be some
>>> synchronization so that they don't end up pointing to the same chunk
>>> of memory. How do you make that both fast and safe?
>>>
>>> What happens with a threads object references if another thread forces
>>> a gc cycle? I guess all threads has to stop running during the gc so
>>> that all object references can be updated. It's even more complicated
>>> if one thread is in an ffi function which holds a pointer to a Factor
>>> object.
>>>
>>> What if another thread recompiles the same word a thread is running?
>>>
>>>> If not, it would be nice to gather such information from people
>>>> knowledgeable about the internals of factor, so that interested people
>>>> could start make some contributions.
>>>>
>>>> I don't know if personally I would be able to contribute, but I'd love
>>>> to if I I found something I could handle
>>>
>>> An alien wrapper for pthreads would be interesting. I've no idea if it
>>> would kind of work or break Factor badly, non-the-less it would be
>>> interesting to see.
>>>
>>> While we're at the subject of threading.. It's a great feature but a
>>> language VM can do without it and still be very useful. Python,
>>> Erlang, Node.js and Ruby all proves that. If the goal of the
>>> concurrency is IO throughput, then cooperative threads which Factor
>>> already has works really well. For cpu intensive tasks you can often
>>> start multiple processes instead of threading.
>>>
>>>
>>>
>>> --
>>> mvh/best regards Björn Lindqvist
>>>
>>> ------------------------------------------------------------------------------
>>> Comprehensive Server Monitoring with Site24x7.
>>> Monitor 10 servers for $9/Month.
>>> Get alerted through email, SMS, voice calls or mobile push notifications.
>>> Take corrective actions from your mobile device.
>>> http://p.sf.net/sfu/Zoho
>>> _______________________________________________
>>> Factor-talk mailing list
>>> Factor-talk@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>>
>> ------------------------------------------------------------------------------
>> Comprehensive Server Monitoring with Site24x7.
>> Monitor 10 servers for $9/Month.
>> Get alerted through email, SMS, voice calls or mobile push notifications.
>> Take corrective actions from your mobile device.
>> http://p.sf.net/sfu/Zoho
>> _______________________________________________
>> Factor-talk mailing list
>> Factor-talk@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
> ------------------------------------------------------------------------------
> Comprehensive Server Monitoring with Site24x7.
> Monitor 10 servers for $9/Month.
> Get alerted through email, SMS, voice calls or mobile push notifications.
> Take corrective actions from your mobile device.
> http://p.sf.net/sfu/Zoho
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to