Why Are Algorithms Non Scalable?
Recently, a colleague emailed me the following:
Since y'all possess got been reading thence much nigh clouds, CAP, too presumably lots of consensus things, y'all tin sack reply ameliorate the interrogation of algorithm scalability. How scalable are the pop algorithms? Can they create a reasonable labor of consensus amongst 100,000 processes? Is this fifty-fifty a reasonable question? What are the key problems, the algorithms or the lower marking communication issues?
These are truly the correct form of questions to inquire probing for deeper CS concepts. Here are my preliminary answers to these questions.
From what I read, consensus amongst 100K processes is truly out of question. Paxos consensus was deployed on v nodes for GFS too like systems: Zookeper, Megastore, etc. As some other event Sinfonia's player nodes inwards a transaction is too to a greater extent than or less express to 5-10.
So what is incorrect amongst algorithms, why are they unscalable? I approximate ane obstruction against scalability is the "online" processing requirement, too most algorithms are inherently express because of that. When y'all convey offline processing, equally inwards mapreduce tasks, too thence y'all tin sack afford to a greater extent than scalability.
I intend a to a greater extent than key occupation for scalability is the synchronization requirements inwards these algorithms. Synchronization is a bargain breaker for scalability. The brief news of the workflow idea.
How does ane formally define "synchronization point" that is non specific to a detail system/algorithm? I don't know of a practiced answer, merely I intend it is closer to a snapshot. Bloom too identifies synchronization points equally culprits, too defines synchronization points equally operations that are classified equally non-monotonous inwards the Bloom declarative language.
0 Response to "Why Are Algorithms Non Scalable?"
Post a Comment