Unicast 40k messages, $1000 bounty

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

Unicast 40k messages, $1000 bounty

by Joel Reymont :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The last bounty was claimed by Cliff Moon but I'm not entirely  
satisfied since getting under 1 second requires sending directly to  
the socket. As discussed in the 20k thread, this can cause the  
broadcasting loop to block on slow clients.

The new challenge is to broadcast to 40k clients in under 1s on Amazon  
EC2 (small server instance) using a middleman. Same $1000 bounty.

        Thanks, Joel

---
Mac hacker with a performance bent
http://www.linkedin.com/in/joelreymont


________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org


Re: Unicast 40k messages, $1000 bounty

by Joel Reymont :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Just to clarify, this is a new 1K bounty,
in addition to the one that goes to Cliff.

On Jul 17, 2009, at 3:01 PM, Joel Reymont wrote:

> The last bounty was claimed by Cliff Moon but I'm not entirely  
> satisfied since getting under 1 second requires sending directly to  
> the socket. As discussed in the 20k thread, this can cause the  
> broadcasting loop to block on slow clients.
>
> The new challenge is to broadcast to 40k clients in under 1s on  
> Amazon EC2 (small server instance) using a middleman. Same $1000  
> bounty.

---
Mac hacker with a performance bent
http://www.linkedin.com/in/joelreymont


________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org


Parent Message unknown Re: Re: Unicast 40k messages, $1000 bounty (Hot Wheels!)

by Joel Reymont :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Folks,

Janus has been renamed to Hot Wheels and now lives at http://github.com/wagerlabs/hotwheels/tree/master 
.

The goal is still to get a broadcast to 40k users in < 1s.

I'm making several protocol changes, e.g. {packet, 2}
and moving away from JSON to a simple protocol where
every packet has a 12 byte timestamp to measure latency,
1 byte for message type (1 = subscribe, 2 = unsubscribe),
and size + body for topic, event, etc.

        Thanks, Joel

---
Mac hacker with a performance bent
http://www.linkedin.com/in/joelreymont


________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org


Re: Re: Unicast 40k messages, $1000 bounty (Hot Wheels!)

by Feng Yu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hi all,
    I achieve the goal with my patched otp R13B02-1.
Server:
#taskset -c 1 /usr/src/xxx/bin/erl -pa ebin mochiweb/ebin -boot start_sasl
+A 8 +K true +P 1200000   -hotwheels cluster  -hotwheels listen_port 8081
-name hotwheels@`hostname`s hotwheels start
publish,info: [{memory,757453},
               {owner,<0.84.0>},
               {heir,none},
               {name,subs},
               {size,50000},
               {node,'hotwheels@nd-desktop'},
               {named_table,false},
               {type,set},
               {keypos,1},
               {protection,protected}]
cost time: 871.379

Client:
#taskset -c 0 /usr/src/xxx/bin/erl -boot start_sasl -pa ebin mochiweb/ebin
+A 8 +K true +P 1200000   -hotwheels cluster  -hotwheels listen_port 8081
-name debug
(debug@...)8>  bot:test(flashbot,50000).
setup connection...
setup done

=INFO REPORT==== 4-Nov-2009::17:41:32 ===
setup: 5843.08ms, good: 50000, bad: 0, total run: 8593.22ms
    0.0510ms | min
  500.0000ms | 15943  -  31.89%
 1000.0000ms | 16949  -  33.90%
 1500.0000ms | 17108  -  34.22%
 1349.0090ms | max
ok

My machine hardware:

root@nd-desktop:/proc/sys/net/ipv4# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz
stepping        : 6
cpu MHz         : 1200.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc
arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm
lahf_lm
bogomips        : 4986.70
clflush size    : 64
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz
stepping        : 6
cpu MHz         : 1200.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc
arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm
lahf_lm
bogomips        : 4987.44
clflush size    : 64
power management:

Os:
# uname -a
Linux nd-desktop 2.6.31-14-generic #3 SMP Sun Nov 1 23:03:10 CST 2009 i686
GNU/Linux

专注 高性能容错分布式服务器的研究和实现
http://blog.yufeng.info



On Sat, Jul 18, 2009 at 2:14 PM, Joel Reymont <joelr1@...> wrote:

> Folks,
>
> Janus has been renamed to Hot Wheels and now lives at
> http://github.com/wagerlabs/hotwheels/tree/master.
>
> The goal is still to get a broadcast to 40k users in < 1s.
>
> I'm making several protocol changes, e.g. {packet, 2}
> and moving away from JSON to a simple protocol where
> every packet has a 12 byte timestamp to measure latency,
> 1 byte for message type (1 = subscribe, 2 = unsubscribe),
> and size + body for topic, event, etc.
>
>        Thanks, Joel
>
> ---
> Mac hacker with a performance bent
> http://www.linkedin.com/in/joelreymont
>
>
> ________________________________________________________________
> erlang-questions mailing list. See http://www.erlang.org/faq.html
> erlang-questions (at) erlang.org
>
>

Re: Re: Unicast 40k messages, $1000 bounty (Hot Wheels!)

by litaocheng :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

wow, so cool, can you give me your OTP R13B02-1 patches ?
thanks!

2009/11/4 Feng Yu <mryufeng@...>

> hi all,
>    I achieve the goal with my patched otp R13B02-1.
> Server:
> #taskset -c 1 /usr/src/xxx/bin/erl -pa ebin mochiweb/ebin -boot start_sasl
> +A 8 +K true +P 1200000   -hotwheels cluster  -hotwheels listen_port 8081
> -name hotwheels@`hostname`s hotwheels start
> publish,info: [{memory,757453},
>               {owner,<0.84.0>},
>               {heir,none},
>               {name,subs},
>               {size,50000},
>               {node,'hotwheels@nd-desktop'},
>               {named_table,false},
>               {type,set},
>               {keypos,1},
>               {protection,protected}]
> cost time: 871.379
>
> Client:
> #taskset -c 0 /usr/src/xxx/bin/erl -boot start_sasl -pa ebin mochiweb/ebin
> +A 8 +K true +P 1200000   -hotwheels cluster  -hotwheels listen_port 8081
> -name debug
> (debug@...)8>  bot:test(flashbot,50000).
> setup connection...
> setup done
>
> =INFO REPORT==== 4-Nov-2009::17:41:32 ===
> setup: 5843.08ms, good: 50000, bad: 0, total run: 8593.22ms
>    0.0510ms | min
>  500.0000ms | 15943  -  31.89%
>  1000.0000ms | 16949  -  33.90%
>  1500.0000ms | 17108  -  34.22%
>  1349.0090ms | max
> ok
>
> My machine hardware:
>
> root@nd-desktop:/proc/sys/net/ipv4# cat /proc/cpuinfo
> processor       : 0
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 23
> model name      : Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz
> stepping        : 6
> cpu MHz         : 1200.000
> cache size      : 2048 KB
> physical id     : 0
> siblings        : 2
> core id         : 0
> cpu cores       : 2
> apicid          : 0
> initial apicid  : 0
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 10
> wp              : yes
> flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
> pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
> constant_tsc
> arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr
> pdcm
> lahf_lm
> bogomips        : 4986.70
> clflush size    : 64
> power management:
>
> processor       : 1
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 23
> model name      : Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz
> stepping        : 6
> cpu MHz         : 1200.000
> cache size      : 2048 KB
> physical id     : 0
> siblings        : 2
> core id         : 1
> cpu cores       : 2
> apicid          : 1
> initial apicid  : 1
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 10
> wp              : yes
> flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
> pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
> constant_tsc
> arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr
> pdcm
> lahf_lm
> bogomips        : 4987.44
> clflush size    : 64
> power management:
>
> Os:
> # uname -a
> Linux nd-desktop 2.6.31-14-generic #3 SMP Sun Nov 1 23:03:10 CST 2009 i686
> GNU/Linux
>
> 专注 高性能容错分布式服务器的研究和实现
> http://blog.yufeng.info
>
>
>
> On Sat, Jul 18, 2009 at 2:14 PM, Joel Reymont <joelr1@...> wrote:
>
> > Folks,
> >
> > Janus has been renamed to Hot Wheels and now lives at
> > http://github.com/wagerlabs/hotwheels/tree/master.
> >
> > The goal is still to get a broadcast to 40k users in < 1s.
> >
> > I'm making several protocol changes, e.g. {packet, 2}
> > and moving away from JSON to a simple protocol where
> > every packet has a 12 byte timestamp to measure latency,
> > 1 byte for message type (1 = subscribe, 2 = unsubscribe),
> > and size + body for topic, event, etc.
> >
> >        Thanks, Joel
> >
> > ---
> > Mac hacker with a performance bent
> > http://www.linkedin.com/in/joelreymont
> >
> >
> > ________________________________________________________________
> > erlang-questions mailing list. See http://www.erlang.org/faq.html
> > erlang-questions (at) erlang.org
> >
> >
>