RemoteActor based on NIO ?

View: New views
7 Messages — Rating Filter:   Alert me  

RemoteActor based on NIO ?

by kermitas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I just looked at Scala RemoteActor sources and I saw that implementation is based on old fashion blocking IO.
Sicne this way a little bit old and (what is more important!) it is NOT SCALABLE I wanted to ask if there are plans to make RemoteActors using NIO ?

In simple scenario when we build client-server software based on RemoteActors we will kill machine after ~1000 connections. After reading "Scala - the next five years" if we want Scala to be the language of the future RemoteActors should be based on NIO !

Thanks,
Arthur.

Re: RemoteActor based on NIO ?

by Landei :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


kermitas wrote:
Hello,

I just looked at Scala RemoteActor sources and I saw that implementation is based on old fashion blocking IO.
Sicne this way a little bit old and (what is more important!) it is NOT SCALABLE I wanted to ask if there are plans to make RemoteActors using NIO ?

In simple scenario when we build client-server software based on RemoteActors we will kill machine after ~1000 connections. After reading "Scala - the next five years" if we want Scala to be the language of the future RemoteActors should be based on NIO !

Thanks,
Arthur.
I'm no expert, but I tend to agree. Maybe we could use existing infrastructure for this, e.g. things like http://mina.apache.org/ ?

Cheers,
Daniel

Re: RemoteActor based on NIO ?

by Kevin Wright-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

My vote goes with JavaSpaces...


On Wed, Jul 8, 2009 at 12:58 PM, Landei <Daniel.Gronau@...> wrote:



kermitas wrote:
>
> Hello,
>
> I just looked at Scala RemoteActor sources and I saw that implementation
> is based on old fashion blocking IO.
> Sicne this way a little bit old and (what is more important!) it is NOT
> SCALABLE I wanted to ask if there are plans to make RemoteActors using NIO
> ?
>
> In simple scenario when we build client-server software based on
> RemoteActors we will kill machine after ~1000 connections. After reading
> "Scala - the next five years" if we want Scala to be the language of the
> future RemoteActors should be based on NIO !
>
> Thanks,
> Arthur.
>
>

I'm no expert, but I tend to agree. Maybe we could use existing
infrastructure for this, e.g. things like http://mina.apache.org/ ?

Cheers,
Daniel

--
View this message in context: http://www.nabble.com/RemoteActor-based-on-NIO---tp24389820p24390172.html
Sent from the Scala - User mailing list archive at Nabble.com.



Re: RemoteActor based on NIO ?

by Walter Chang :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

take a look at this: http://github.com/robey/naggati/tree/master

On Wed, Jul 8, 2009 at 7:32 PM, kermitas <kermitas@...> wrote:
Hello,

I just looked at Scala RemoteActor sources and I saw that implementation is based on old fashion blocking IO.
Sicne this way a little bit old and (what is more important!) it is NOT SCALABLE I wanted to ask if there are plans to make RemoteActors using NIO ?

In simple scenario when we build client-server software based on RemoteActors we will kill machine after ~1000 connections. After reading "Scala - the next five years" if we want Scala to be the language of the future RemoteActors should be based on NIO !

Thanks,
Arthur.



--
.......__o
.......\<,
....( )/ ( )...

Re: RemoteActor based on NIO ?

by kermitas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yes,

we can use MINA, JETTY, GRIZZLY... but I think we need something lightweight, build into every Scala distribution. Dependency to other libraries will always be a problem. We need sth build in like RMI for Java and I beleive RemoteActor is for Scala.

What I thought is to create dedicated Selector implementation just for this one task : make RemoteActor NIO. Only one thread and thousands of connections. We don't need filters, coders/decoders, protocols...

What you think about that ?

Thanks,
Arthur.


Dnia 8 lipca 2009 13:58 Landei <Daniel.Gronau@...> napisaƂ(a):

>
>
>
> kermitas wrote:
> >
> > Hello,
> >
> > I just looked at Scala RemoteActor sources and I saw that implementation
> > is based on old fashion blocking IO.
> > Sicne this way a little bit old and (what is more important!) it is NOT
> > SCALABLE I wanted to ask if there are plans to make RemoteActors using NIO
> > ?
> >
> > In simple scenario when we build client-server software based on
> > RemoteActors we will kill machine after ~1000 connections. After reading
> > "Scala - the next five years" if we want Scala to be the language of the
> > future RemoteActors should be based on NIO !
> >
> > Thanks,
> > Arthur.
> >
> >
>
> I'm no expert, but I tend to agree. Maybe we could use existing
> infrastructure for this, e.g. things like http://mina.apache.org/ ?
>
> Cheers,
> Daniel
>
> --
> View this message in context: http://www.nabble.com/RemoteActor-based-on-NIO---tp24389820p24390172.html
> Sent from the Scala - User mailing list archive at Nabble.com.
>
>

Re: RemoteActor based on NIO ?

by Philipp Haller-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Arthur,

> I just looked at Scala RemoteActor sources and I saw that implementation is based on old fashion blocking IO.
> Sicne this way a little bit old and (what is more important!) it is NOT SCALABLE I wanted to ask if there are plans to make RemoteActors using NIO ?

There are definitely plans for using NIO. In fact, there has been a
student project at EPFL on exactly this. Unfortunately, the code was
only a prototype and not ready for inclusion in the standard library. In
the meantime I didn't have the resources to develop it further.

If you (or anybody else) are interested in working on this, the
prototype implementation is available in the Scala SVN repository:

http://lampsvn.epfl.ch/trac/scala/browser/scala/branches/remoteactors

Cheers,
Philipp


Re: RemoteActor based on NIO ?

by Arthur S :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Great to hear that Philip.

What I know about Selector that it is quite hard if you want to create network framework based on it and quite easy if you want to use it in one simple, dedicated scenario.

What where the main problems that students meet during their implementation ?

Because I am old Selector veteran I started to think about implementation but I don't know how to start, with who I can make consultations etc...

Thanks,
Arthur.
 

Philipp Haller-2 wrote:
Hello Arthur,

> I just looked at Scala RemoteActor sources and I saw that implementation is based on old fashion blocking IO.
> Sicne this way a little bit old and (what is more important!) it is NOT SCALABLE I wanted to ask if there are plans to make RemoteActors using NIO ?

There are definitely plans for using NIO. In fact, there has been a
student project at EPFL on exactly this. Unfortunately, the code was
only a prototype and not ready for inclusion in the standard library. In
the meantime I didn't have the resources to develop it further.

If you (or anybody else) are interested in working on this, the
prototype implementation is available in the Scala SVN repository:

http://lampsvn.epfl.ch/trac/scala/browser/scala/branches/remoteactors

Cheers,
Philipp