Open distributed computing research questions/topics? [closed] - distributed

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
Hej,
I recently read a lot of papers from Lamport, Fischer, Lynch, Brewer to get a feeling for their perspective of distributed systems.
I was wondering, what are current open distributed computing research questions/topics? Many areas from databases, communication, fault-tolerance, number crunching, etc. seem to be tackled and in quite solid hands.
What do you think are new areas, maybe someone did think of in the past but rendered it impossible and now it becomes possible? A topic like graph algorithms/databases/analysis?
I would also appreciate if anyone can give a some hints of must-read papers about distributed systems. They can also be a more "sci-fi" to just stay inspired.

Something I have had a big interest in is the potential for using cloud computing / distributed systems to run 3D software, such as you could set up essentially a virtual production studio "in the cloud", as it stands now the cloud providers offer only very basic rudimentary graphics support as their hardware is not equipped with anything approaching high end graphics cards..
I think in the future this type of platform could be also used for online games and things of that nature, such as to take away the need for local computing power, with the increase in broadband speeds (some places in the U.S. now have access to fiberoptic lines with 50+ MB per second) this is becoming an increasing possibility in the near future.
I don't play computer games myself and just used to do some 3D design / animation work but I look at it more from a business perspective and think that this has a lot of potential as, for example, someone with just a basic notebook laptop could eventually be able to use a remote connection to a distributed computing network to play a CPU intensive game (likely through a subscription based set up as this obviously would be taxing on the company providing such a game service as they would be providing all the computing power).

Related

aes ctr 128 bit decryption in Embedded system [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
As part of DFU(Device Firmware Upgrade) we need to decrypt the binary which comes from PC. The Decryption algorithm shall be AES CTR 128 bit decryption. Since chip(TI DM3732) doesn't support h/w decryption need to implement s/w decryption. I see there are many libraries available for invoking "AES_encrypt" API, but i'm not able to integrate it to my codebase. Can anyone please help me how to proceed?
Note: Posted as an answer because it's too long to post as a comment.
Without wishing to sound too negative, I think the best answer is that if you can't integrate a reliable crypto library into your codebase, then you'll just have to find someone who can.
Here's why: Decent cryptography software isn't easy to write. If you trawl through SO and other sites, you'll probably find code that does what you want. However, unless this software has been thoroughly peer-reviewed and stress-tested, it will most likely be vulnerable to all sorts of side-channel attacks. It may even have bugs that will cause it to operate incorrectly under certain circumstances.
We seem to be advancing into an era when even ordinary objects like kettles and even toilets can connect to the internet. And because manufacturers have been cutting corners when it comes to security, these devices are easy to commandeer. As a result, we are starting to see massive botnet attacks originating from "smart" home devices.
Bruce Schneier spelt out the dangers in a speech to the House of Representatives’ Energy & Commerce Committee just last week:
Everything is now a computer: This is not a phone. It’s a computer that makes phone calls. A refrigerator is a computer that keeps things cold. An ATM machine is a computer with money inside. Your car is not a mechanical device with a computer. It’s a computer with four wheels and an engine… And this is the Internet of Things, and this is what caused the DDoS attack we’re talking about.

How to create distributed file system [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Just for self education I decided to implement "hello world" distributed file system. The simplest one. And decide to read about theory under this subject.
But... when I asking google about this it shows answers like "how to configure hdfs" or "how to set distributed fs on windows" what is not what I interested in...
Could someone please point me on some good articles or books on this subject.
Thanks a lot!
Well, if you really decided to implement such a file system, you must start with distributed systems. I recommend reading the Tanenbaum reference book http://www.distributed-systems.net/index.php?id=distributed-systems-principles-and-paradigms
Careful, the subject is really complex and distributed systems are all but simple to implement.
If you want to have a look to some already implemented distributed file systems, you may have a look to GFS/GFS2 (from RedHat). You may also have a look to ocfs2 from oracle.
You may also have a look to gluster https://fr.wikipedia.org/wiki/GlusterFS
You may also be able to find some white papers on the google file system (when it was still a university work).
The main problem of such distributed system is the failure detection (detect when a node crashes while writing on the file system => need to make sure there are no corruptions). There are multiple strategy, one may be to implement a journal which is protected by a distributed lock.
Another great (classical) problem is the 'split brain' problem, when the cluster is split in two groups because of a network failure (imagine a switch that is broken). Both groups 'think' that the other one is dead (they cannot communicate with it) but there is no way to make sure that the distant group is not writing data causing the data to diverge.
Hope you find what you want with all this.
Edit:
Now GFS is deprecated, redhat is using and developing 'Ceph'

What are some alternatives to Parse? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
My team and I would like to develop a project that incorporates an Android, iOS and web app. Scalability and big throughput potential is a key feature. We have started to work with Parse.com, and it provides exactly what we're looking for - except for the prohibitive expensiveness of scaling and the absurd limits on queries and requests/second. What are some alternatives to Parse in this sense? We most likely do not need any complex database actions and limited cloud processing.
Thanks in advance.
Perhaps it's time us Parse users go to the big boy of cloud services: https://aws.amazon.com/mobile/
Parse is an outstanding option for getting up and running quickly. Don't underestimate the value in being able to rapidly bring an idea to market.
Long term, potential competitors to Parse (e.g. Firebase, PubNub) will not provide meaningful savings when operating at scale. If you are concerned about that you will want to look into developing your own backend services and running them on infrastructure like AWS (Amazon Web Services). At a high level, Parse uses MongoDB for its core database and is entirely hosted using AWS. AWS offers tons of services for managing data, performing computations, load balancing, and so on. They also offer AWS API Gateway which allows you to access AWS resources and automatically creates client SDKs for you.
As a general rule of thumb, it's much better to focus on building the best possible user experience than to focus too much on scalability. By and large, issues of scalability rarely come into play because most apps fail. Not saying that to be discouraging — just something to keep in mind and prevent you from falling into the trap of over-engineering at the cost of time :)

How to calculate Amazon server prices [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I need a server with a lot of RAM, around ~1TB, for a GIS DB, that would be not written to hard disk, because the data is irrelevant after a few seconds. So I do not need a lot of disk space; I wish to hold all data in memory. The write data would be 1% of INSERT'S and 99% of UPDATE's. Write/Read ratio would be 20/1. I have to choose to rent a dedicated server or rent an Amazon service. I'm wondering: how to calculate the price of Amazon services with traffic ~100TB/month.
I think you might reconsider your configuration, using SSD disk, a really great CPU, and a lot of ram, but 1To of ram is way too much, most system will not handle it. After it's for the price ! It's really expensive, that kind of configuration is 15000$++ a month at OVH for example. So I thinks if you have that kind of problem, the better is to directly call Amazon and ask them for the best configuration and negociate the price.

What areas of computer science are particularly relevant to mobile development? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
This isn't a platform specific question - rather I'm interested in the general platform independent areas of computer science that are particularly relevant to mobile applications development.
For example, things like compression techniques, distributed synchronisation algorithims etc.. what theoretical concepts have you found relevant, useful or enabling when building mobile apps?
Human-computer interaction is an important consideration, when you consider that mobile devices have all sorts of inputs that a "normal" computer would not - such as touch screens (with multi-touch), one or more microphones, camera(s), etc...
Taken from embedded software development is the habit to handle scarce resources such as CPU load and battery life.
My 2 cents: Augmented reality, NFC (RFID)
process calculi
I don't understand why "All of computer science" isn't relevant.
(even things large large scale computing is relevant: you can't have
a small device in your hands that does really complicated stuff
on large scale unless there's a big engine someplace else).
Derecursivation (turning recursive code into an iterative loop) came handy once because some systems try to limit the default available stack size.
Pagination (how the OS splits heap memory into "page" units) is useful to understand when deciding the size of temporary buffers.
The notion of context: context-awareness and/or context-orientation
And also mobile ad-hoc network

Resources