Thursday, May 29, 2014

Circular causality in Computing

More often than not circular causality is associated with philosophical thought and is thought of as a contradiction to scientific thought let alone computer science. It might not be wrong to say that paradigm of linear causality is so embedded in human thought process that taking another view on it or not being able to think in terms of cause and effect or not being able to pin down events on a time scale seems unreasonable and counter intuitive. In fact, intuition as we understand it, is actually based on causality.

As computer scientists, the term ‘causality’ as we know it actually refers to linear causality. Linear causality is one of the most fundamental concepts required for designing, implementing, debugging and proving correctness of the systems at different scales. But there exists examples in the current systems which show non linear behavior such as N-tiered application performance, user intent capturing systems and management of large scale data centers.

The hypothesis is that non-linear effects are primarily due to the hidden feedback loops and self organizing nature of systems which cannot be captured using linear causality. These systems can be modelled using the notions of circular causality which can then be used to used to explain the unexplained behavior. As opposed to intuition, notion of circular causality does not replace existing linear causality paradigm but can complement it to explain the non linear behavior of largely distributed systems.

Here are some potential case studies which can be carried out in this regard:

Example #1 - Management of large scale clouds

There has been recent research which treats large data centers as different kinds of devices (as defined by physicists)
  • Thermodynamic device : Examples include entropy based treatment of phenomenon observed in data center workloads
  • A computational device: Offloading and/or web servers
  • Information storing, processing and creating device: Storage clouds, sensor repositories and stream processing to generate new data
  • Cloud as a self organizing device: Management of virtual machines in a data centers
None of them explain the overall nature of cloud. Why ? Because all of the above works are trying to explain different parts of a big thing. So, hypothesis is a large scale cloud is actually all of the above and can be characterized by dynamical system theory. How - I don't know. 

So, cloud essentially behaves as multiple type of physical devices and hence, cannot be explained by linear causality as there are interactions at lowest level which affect decision at higher level and decisions at higher level affect lower level operations. There is a hierarchical loop which will lead to emergent properties (like consciousness) which cannot be explained by linear causality concepts.

Example #2 - User Intent formulation

This is a very interesting and economically attractive area which is basically taking the wrong path of trying to capture user intent either from clicks (in case of internet) or from linear analysis of brain signals (brain imaging) or habit of a user. None of the methods have proven to be effective. 

This post is not to provide a solution to these issues but to asking for contribution from readers on how can we collectively think or work to find  out a solution ?

No comments:

Post a Comment