Added graphic on chess room, added section on theoretical layout of GGS, added some on theoretical performance
This commit is contained in:
parent
3d6242f9bd
commit
fd829165d3
3 changed files with 1322 additions and 11 deletions
BIN
graphics/theory_layout.dia
Normal file
BIN
graphics/theory_layout.dia
Normal file
Binary file not shown.
1070
graphics/theory_layout.eps
Normal file
1070
graphics/theory_layout.eps
Normal file
File diff suppressed because it is too large
Load diff
263
report.lyx
263
report.lyx
|
@ -938,7 +938,7 @@ Can we use quickcheck?
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Chapter
|
\begin_layout Chapter
|
||||||
Theory behind GGS
|
Theory behind the GGS
|
||||||
\begin_inset CommandInset label
|
\begin_inset CommandInset label
|
||||||
LatexCommand label
|
LatexCommand label
|
||||||
name "cha:Theory"
|
name "cha:Theory"
|
||||||
|
@ -949,18 +949,259 @@ name "cha:Theory"
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
In this chapter, the theory behind the techniques used in the GGS are discussed
|
In this chapter, the theory behind the techniques used in the GGS are discussed.
|
||||||
here.
|
|
||||||
Performance issues and the measuring of performance is discussed.
|
Performance issues and the measuring of performance is discussed.
|
||||||
Benchmarking techniques are discusses.
|
Benchmarking techniques are discussed.
|
||||||
The options when choosing network protocols are given, along with pros
|
The options when choosing network protocols are given, along with a discussion
|
||||||
and cons for each of our alternatives.
|
of each alternative.
|
||||||
Finally, a bird's eye-view of scalability, fault tolerance and availability
|
Finally, a overview of scalability, fault tolerance and availability is
|
||||||
is presented.
|
presented.
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Section
|
\begin_layout Section
|
||||||
Performance
|
Design of the GGS system
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
The GGS is modelled after a real world system performing much of the same
|
||||||
|
duties as GGS.
|
||||||
|
This is common practice
|
||||||
|
\begin_inset CommandInset citation
|
||||||
|
LatexCommand citep
|
||||||
|
key "armstrong2011"
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
in the computer software world, in order to understand complex problems
|
||||||
|
more easily.
|
||||||
|
The real world system chosen for the GGS is a
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
Chess club
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
- a building where chess players can meet and play chess.
|
||||||
|
Since a real-world scenario is readily available, and to such a large extent
|
||||||
|
resembles the computer software required for the GGS, the next step in
|
||||||
|
developing the GGS system is to duplicate this real world scenario in a
|
||||||
|
software setting.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
In the text below, two examples will be presented.
|
||||||
|
On example is that of a real-world
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
Chess club
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
, in which players meet to play chess against each other, the other example
|
||||||
|
is the GGS, and how it corresponds to this chess club.
|
||||||
|
In figure
|
||||||
|
\begin_inset CommandInset ref
|
||||||
|
LatexCommand vref
|
||||||
|
reference "fig:theory-layout"
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
a graphical representation for the
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
Chess club
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
is presented.
|
||||||
|
The club is seen from above.
|
||||||
|
The outermost box represents the building.
|
||||||
|
In the GGS setting, the building would represent one instance of GGS.
|
||||||
|
Several buildings linked together would represent a cluster of GGS instances.
|
||||||
|
In order for a player (the P symbol in the graphic) to enter the theoretical
|
||||||
|
chess club, the player must pass by the entrance.
|
||||||
|
By having each player pass by the entrance, a tally
|
||||||
|
\begin_inset Note Note
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
Does this mean what I think it does?
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
Räkning
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
?
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
can be kept, ensuring that there are not too many players within the building.
|
||||||
|
In the GGS setting, too many players entering would mean too many connections
|
||||||
|
have been accepted to the GGS system, and that the structure of the system
|
||||||
|
thus must be modified, adding additional servers.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Once a player has been allowed in to the chess club the player is greeted
|
||||||
|
by the host of the chess club, in the GGS setting represented by the
|
||||||
|
\emph on
|
||||||
|
Coordinator
|
||||||
|
\emph default
|
||||||
|
, and is seated by a table.
|
||||||
|
The coordinator keeps track of all the players in the building, and all
|
||||||
|
moved made by the players.
|
||||||
|
The information available to the coordinator means that cheating can be
|
||||||
|
monitored and book keeping can be performed by this entity.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
\begin_inset Float figure
|
||||||
|
wide false
|
||||||
|
sideways false
|
||||||
|
status collapsed
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset ERT
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
|
||||||
|
\backslash
|
||||||
|
begin{centering}
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset Graphics
|
||||||
|
filename graphics/theory_layout.eps
|
||||||
|
scale 40
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset ERT
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
|
||||||
|
|
||||||
|
\backslash
|
||||||
|
end{centering}
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset Caption
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
\begin_inset CommandInset label
|
||||||
|
LatexCommand label
|
||||||
|
name "fig:theory-layout"
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
The layout of a physical
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
Chess club
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
with two players (P) sitting by each chess table (Table), a coordinator
|
||||||
|
keeps track of all moves and players in the building.
|
||||||
|
A player has to pass by the entrance to enter or exit the building.
|
||||||
|
The building is represented by the outermost box.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Section
|
||||||
|
Performance
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
There are many ways in which performance could be measured.
|
||||||
|
For the clients, time and response times are useful measurements in time
|
||||||
|
critical settings.
|
||||||
|
In non-time critical settings, the reliability of message delivery may
|
||||||
|
be an even more important factor than speed.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
In a first person shooter game, the speed of delivery of messages is essential.
|
||||||
|
Failiure to deliver messages in time results in choppy gameplay for the
|
||||||
|
players.
|
||||||
|
In strategy games, the reliability of delivery may be more important than
|
||||||
|
the speed, since the game is not percieved as choppy even if the messages
|
||||||
|
are delayed.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
For someone operating a GGS, it is perhaps more interesting to measure the
|
||||||
|
system load, memory consumption, energy consumption and network saturation.
|
||||||
|
These topics are discussed in theory in this section.
|
||||||
|
The practical results for the prototype are discussed in chapter
|
||||||
|
\begin_inset CommandInset ref
|
||||||
|
LatexCommand vref
|
||||||
|
reference "cha:Implementation-of-a"
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Subsection
|
||||||
|
Performance measurements
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
\begin_inset Note Note
|
||||||
|
status open
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
Tue apr 26, 9:15.
|
||||||
|
Continue from here on.
|
||||||
|
Discuss which results we may expect in a fully fledged GGS system.
|
||||||
|
What impedes the speeds, what raises the CPU load (and therefore the temperetur
|
||||||
|
es & power consumption).
|
||||||
|
What factors are there in the network saturation problem?
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Plain Layout
|
||||||
|
Which games are affected by what, and what does this mean for the number
|
||||||
|
of players a GGS can handle?
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
|
@ -1726,7 +1967,7 @@ reference "alg:A-simple-generator"
|
||||||
\begin_inset Float figure
|
\begin_inset Float figure
|
||||||
wide false
|
wide false
|
||||||
sideways false
|
sideways false
|
||||||
status open
|
status collapsed
|
||||||
|
|
||||||
\begin_layout Plain Layout
|
\begin_layout Plain Layout
|
||||||
\begin_inset ERT
|
\begin_inset ERT
|
||||||
|
@ -2347,7 +2588,7 @@ Design choices
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
When designing concurrent applications, it is useful to picture them as
|
When designing concurrent applications, it is useful to picture them as
|
||||||
real world scenarios, and to model each actor# as a real world process.
|
real world scenarios, and to model each actor as a real world process.
|
||||||
A real world process is a process which performs some action in the real
|
A real world process is a process which performs some action in the real
|
||||||
world, such as a mailbox receiving a letter, a door being opened, a person
|
world, such as a mailbox receiving a letter, a door being opened, a person
|
||||||
translating a text, a soccer player kicking the ball, just to name a few
|
translating a text, a soccer player kicking the ball, just to name a few
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue