Send
Close Add comments:
(status displays here)
Got it! This site "creationpie.com" uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website. Note: This appears on each machine/browser from which this site is accessed.
Scalability and conflict
1. Scalability
The number of connections between all possible nodes increases much faster than the number of nodes.
2. Connection scalability and conflict
In any distributed system, the number of connections grows as the square of the number of nodes (e.g., people).
As the system (of members and groups) grows, there will invariably be
conflict (between people) or
errors (between system components). Fundamental rules:
Love God (individual)
Love neighbor as yourself (members and groups)
Proclaim truth actively but react passively
There needs to be some
conflict resolution protocol between/among processes.
3. Scalability and conflict
The Dunbar number of about 150 appears to limit the human size of an organization where everyone can know everyone else.
Dunbar's informal definitions (from the 1990's) is "the number of people you would not feel embarrassed about joining uninvited for a drink if you happened to bump into them in a bar.".
4. Comparison
For 100 people, there are 100*99= 4,950 possible connections.
For 150 people, there are 150*149= 11,175 possible connections.
For 300 people, there are 300*299= 44,850 possible connections.
For 600 people, there are 600*599= 179,700 possible connections.
As the size of the organization grows, there are many connections that are not made. That is, there are more and more people who do not know other people.
As businesses and related organizations grow above this number, identification badges, etc., are needed.
As churches and related organizations grow above this number, a way is needed to ovoid the feeling of being lost in a crowd.
5. Cube scalability
1 Cube of 1
2 Cube of 4
3 Cube of 27
4 Cube of 64
5 Cube of 125
6 Cube of 216
7 Cube of 343
8 Cube of 512
Scalability of solutions is important. As the size of the length of one dimension increases by one, the area increases by the square and the volume increases as the cube.
Note how the cube grows much faster than the square which grows much faster than the unit addition.
6. Side of length one
Start with one cube, of length one.
7. Side of length two
Add one cube of length.
8. Side of length three
Add one cube of length.
9. Side of length four
Add one cube of length.
10. Side of length five
Add one cube of length.
11. Side of length six
Add one cube of length.
12. Observation
Note how the cube grows much faster than the square which grows much faster than the unit addition.
13. Files
One way to easily scale up the number of files in a system is to have one level of files in a folder.
This works well up to a thousand or more files. Naming conventions:
documents
|
programs
|
name-00.docx
name-01.docx
name-02.docx
name-03.docx
...
|
name9.py
name1.py
name2.py
name3.py
...
|
14. Folders
One way to easily scale up the number of folders in a system is to have one level of folders right below some root.
This works well up to a thousand or more folders.
15. File references
Personal convention: (if allowed)
Folders in all uppercase letters.
Files in all lowercase letters.
No spaces in file or folder names.
Names ending in "0" are used for "trash" code, etc.
Some languages do not permit certain naming conventions and some may require mixed case names, etc.
Every file can now be referenced using the following pattern.
..\FOLDER\name
../FOLDER/name
16. Drives
The root of all source code and/or document files is one root.
D:\F
/rms/F
This is part of code relocatability.
Host name
OS
IP address - MAC address
server or client
17. Scalability
We tell ourselves that what we can do once, we can also do twice and by induction we fool ourselves into believing that we can do it as many times as needed, but this is just not true! A factor of a thousand is already far beyond our powers of imagination. Edsger Dijkstra (computer scientist)
Dahl, O., Dijkstra, E., & Hoare, C. (1972).
Structured programming. New York: Academic Press., p. 2.
18. End of page