Concentus: Applying Stream Processing to Online Collective Interaction

The collective experience is the experience of unity, belonging, and purpose that occurs when large numbers of people come together and perceive themselves and others as part of a single social entity, and interact with each another accordingly. We are exploring how the collective experience can be supported in a fully computer-mediated environment through activities where a virtual crowd performs synchronous collective action over a shared focal state (e.g. collectively controlling a character in a game, pulsing text-based messages in time to form collective chants). Supporting collective interaction requires a system architecture that is able to process large numbers of input actions into an aggregated collective representation at low latency. We have created a scalable distributed system called Concentus that applies approaches found in distributed stream processing to online collective interaction. Concentus allows for different implementations of aggregation engine, the primary component of the system, to be measured in-situ with other core components (e.g. client connection handlers). We have evaluated the performance of two aggregation approaches: one based on Spark Streaming, a general purpose distributed stream processing engine, and another that performs aggregation on a single thread on one machine, and have measured their performance against the key metric of interaction latency (time from input submission to perceiving the effect on the shared state) as the crowd size scales. The evaluation revealed that both approaches are capable of supporting 50,000 participants with latencies under 1 second, with the single threaded approach performing better on smaller data sizes, and Spark Streaming on larger data sets. We discuss the implications on collective application design.

[1]  Scott S. Wiltermuth,et al.  Synchrony and Cooperation , 2009, Psychological science.

[2]  J. Morwood The Pocket Oxford Latin Dictionary , 1982 .

[3]  Tom Postmes,et al.  Two faces of anonymity: Paradoxical effects of cues to identity in CMC , 2007, Comput. Hum. Behav..

[4]  Drew Harry Designing complementary communication systems , 2012 .

[5]  S. Reicher,et al.  The experience of collective participation: shared identity, relatedness and emotionality , 2011 .

[6]  Steven M. Seitz,et al.  Techniques for interactive audience participation , 2002, SIGGRAPH '02.

[7]  S. Reicher,et al.  Beyond Help: A Social Psychology of Collective Solidarity and Social Cohesion , 2009 .

[8]  P. Rogers,et al.  Social presence in distributed group environments: The role of social identity , 2005, Behav. Inf. Technol..

[9]  T. Postmes,et al.  A Social Identity Model of Deindividuation Phenomena , 1995 .

[10]  Scott Shenker,et al.  Discretized Streams: An Efficient and Fault-Tolerant Model for Stream Processing on Large Clusters , 2012, HotCloud.

[11]  Kenton O'Hara,et al.  Crowd computer interaction , 2009, CHI Extended Abstracts.

[12]  Brian F. Goldiez,et al.  An architecture supporting large scale MMOGs , 2010, SimuTools.

[13]  M. Hogg,et al.  Rediscovering the social group: A self-categorization theory. , 1989 .

[14]  Robert J. Moore,et al.  "Alone together?": exploring the social dynamics of massively multiplayer online games , 2006, CHI.

[15]  Michael J. Richardson,et al.  Social Connection Through Joint Action and Interpersonal Coordination , 2009, Top. Cogn. Sci..

[16]  Paul E. McKenney,et al.  Memory Barriers: a Hardware View for Software Hackers , 2010 .

[17]  Leonardo Neumeyer,et al.  S4: Distributed Stream Computing Platform , 2010, 2010 IEEE International Conference on Data Mining Workshops.