<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hazel McKendrick &#187; Proposal</title>
	<atom:link href="http://hazelmckendrick.com/journal/tag/proposal/feed" rel="self" type="application/rss+xml" />
	<link>http://hazelmckendrick.com</link>
	<description>Programming and Games Technology Portfolio</description>
	<lastBuildDate>Mon, 20 Jun 2011 17:44:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Final Proposal Outline</title>
		<link>http://hazelmckendrick.com/journal/final-proposal-outline</link>
		<comments>http://hazelmckendrick.com/journal/final-proposal-outline#comments</comments>
		<pubDate>Sat, 02 Jan 2010 13:48:14 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[University Project]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[draft]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Proposal]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1762</guid>
		<description><![CDATA[I completed a further proposal outline, reviewed by my supervisor and classmates, which I am expanding into a final proposal for the commencement of term next week. I added a lot of content to this draft, and was unsure exactly what was appropriate to mention and what would not be suitable (either by being too [...]]]></description>
			<content:encoded><![CDATA[<p>I completed a further proposal outline, reviewed by my supervisor and classmates, which I am expanding into a final proposal for the commencement of term next week.</p>
<p>I added a lot of content to this draft, and was unsure exactly what was appropriate to mention and what would not be suitable (either by being too simple or more relevant in my final dissertation), so I&#8217;m glad this was cleared up.  Changes are also to be made to the overall structure of the proposal.  Finally, I&#8217;ll attempt to reduce the number of references and leave some of them for my dissertation, as apparently half a dozen references would be a more suitable amount for a proposal.  I think this reduction will largely occur naturally when I restructure the proposal, however.</p>
<p>Here&#8217;s the <a href='http://hazelmckendrick.com/wp-content/uploads/2010/01/proposal-outline-2.pdf'>second outline draft</a>, the finished proposal should be up within the next week.</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/final-proposal-outline/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Proposal Draft</title>
		<link>http://hazelmckendrick.com/journal/project-proposal-draft</link>
		<comments>http://hazelmckendrick.com/journal/project-proposal-draft#comments</comments>
		<pubDate>Sun, 13 Dec 2009 13:53:23 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[University Project]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[draft]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[meeting]]></category>
		<category><![CDATA[Proposal]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1744</guid>
		<description><![CDATA[For my first group meeting with my supervisor Dr. Henry Fortuna and fellow students Dave and Drew, we were asked to prepare an outline of our project proposal. Here&#8217;s my initial outline, which I am expanding on for our next meeting and will redraft into a complete proposal over Christmas. We discussed a number of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hazelmckendrick.com/wp-content/uploads/2009/12/world.png"><img src="http://hazelmckendrick.com/wp-content/uploads/2009/12/world-300x297.png" alt="world" title="world" width="150" height="150" class="alignright size-medium wp-image-1749" /></a>For my first group meeting with my supervisor Dr. Henry Fortuna and fellow students <a href="http://bigdavedev.com/honours-blog/">Dave</a> and <a href="http://deaghonours.blog.co.uk/">Drew</a>, we were asked to prepare an outline of our project proposal. </p>
<p><a href='http://hazelmckendrick.com/wp-content/uploads/2009/12/ProjectProposalOutline1.pdf'>Here&#8217;s my initial outline</a>, which I am expanding on for our next meeting and will redraft into a complete proposal over Christmas.</p>
<p>We discussed a number of points, most of them common to each of our proposals.  As well as this, Dr Ozveren gave further advice during his lecture on Thursday which will be addressed in my redraft.</p>
<ul>
<li>In terms of structure, &#8220;Motivation&#8221; deals with too many points and could become condescending to someone who is familiar with the topic.  Splitting the proposal to deal with literature review under its own subheading will help to address this and to emphasise the research work which has taken place.</li>
<li>The basic outline did not make it clear which points were taken or referencing literature and which were my own, obviously this is vital in the final proposal and as such should be demonstrated in the redraft.</li>
<li>The section &#8220;Addressing the Question&#8221; might be better separated into &#8220;Issues&#8221;, &#8220;Methodology&#8221; and &#8220;Evaluation&#8221;</li>
<li>The proposal should also include objectives and milestones, and optionally constraints, assumptions and risks.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/project-proposal-draft/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proposal Draft Feedback</title>
		<link>http://hazelmckendrick.com/journal/proposal-draft-feedback</link>
		<comments>http://hazelmckendrick.com/journal/proposal-draft-feedback#comments</comments>
		<pubDate>Thu, 22 Oct 2009 13:51:06 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[University Project]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[Distributed Computing]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Proposal]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1608</guid>
		<description><![CDATA[After writing my proposal first draft I received feedback from Steven, a member of my class. Although I hope to address the issues he brought up in the next version of my proposal, I wanted to answer them here for the time being. &#160; Hey, sounds like a cool idea. Sounds like it might be [...]]]></description>
			<content:encoded><![CDATA[<p>After writing my <a href="http://hazelmckendrick.com/journal/a-sandpaper-like-proposal-draft/">proposal first draft</a> I received feedback from Steven, a member of my class.  Although I hope to address the issues he brought up in the next version of my proposal, I wanted to answer them here for the time being.<br />
<span id="more-1608"></span><br />&nbsp;</p>
<blockquote><p>Hey, sounds like a cool idea. Sounds like it might be quite a difficult project to undertake considering the need for multiple computers to be running the same simulation. </p></blockquote>
<p>Although multiple computers will be used for the simulation, bear in mind that I can run both a server and several client nodes on one machine during implementation and to perform limited tests.  I will need to make use of several computers to properly test the application, especially when it comes to networking and synchronisation issues, however hopefully this can be done in the evening, at home, or when the labs are less busy.</p>
<p>&nbsp;</p>
<blockquote><p>Will you start from one computer and then work you up by having more join the simulation? </p></blockquote>
<p>Partially.  Obviously my aim would be to start with the simplest working solution possible, and build from there in several steps:
<ol>
<li>Experiment with multi-threading techniques within a single application.</li>
<li>Experiment with networking between several machines.</li>
<li>Combine these approaches to create a very simple client-server framework for distributing tasks.</li>
<li>Design and build a simple basis for the simulation on top of this &#8211; get characters being processed on multiple machines.</li>
<li>Expand on the simulation and improve the underlying architecture.</li>
</ol>
<p>&nbsp;</p>
<blockquote><p>Or will there be a minimum to start with and also maybe a maximum?</p></blockquote>
<p>The number of machines which will be useful for the simulation will depend on how complicated the processing required is &#8211; for example how many entities are created.  If the project is successful the simulation should run, albeit slowly, on one machine and faster as the work is distributed over multiple machines, limited by <a href="http://en.wikipedia.org/wiki/Amdahl%27s_law">Amdahl&#8217;s law</a>.  I doubt I will achieve this ideal and the research question can still be answered even if the simulation runs slower in a distributed situation.</p>
<p>&nbsp;</p>
<blockquote><p>I take it the actions performed will just be general tasks such as moving place to place, interacting with other characters or objects, etc?</p></blockquote>
<p>I am still deciding, to some extent, what tasks would be performed.  It is important that more than one task or is handled as this creates a different type of simulation from performing an identical process on each piece of data (character).<br />
My initial plan is to have the character choose a point in a simple 2D city to aim to go to, and then have them navigate there.  Next, collisions with other data (characters) could be considered, greatly increasing the complexity of the situation.  Finally, the characters could perform simple interactions with items in the world or other characters; However, I think it is unlikely I will have time to implement this option.</p>
<p>&nbsp;</p>
<blockquote><p>Will these action just be randomly assigned to any computer as long as they are free to do so?</p></blockquote>
<p>This is a major part of what I will be investigating.  Tasks will most likely be assigned to nodes spatially &#8211; in terms of an area of a 2D map, although other methods will be tested.  I would especially like to try partitioning the world based on the density of characters in an area in order to try and create even workloads for different machines.  </p>
<p>&nbsp;</p>
<blockquote><p>Or will certain task that may need more processing power be sent to the computer with the best processing power?</p></blockquote>
<p>This will really depend on the hardware I have available.  Ideally, I would like to measure each node&#8217;s networking and processing performance and base the amount of work distributed on this.  If it is possible to use my laptop on the uni network then there will be more opportunities here than if I am working with identical lab machines.  It might also be possible to simulate different hardware using virtual machines.</p>
<p>Thanks again for the questions!</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/proposal-draft-feedback/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Sandpaper-Like Proposal Draft</title>
		<link>http://hazelmckendrick.com/journal/a-sandpaper-like-proposal-draft</link>
		<comments>http://hazelmckendrick.com/journal/a-sandpaper-like-proposal-draft#comments</comments>
		<pubDate>Tue, 20 Oct 2009 22:08:03 +0000</pubDate>
		<dc:creator>Hazel</dc:creator>
				<category><![CDATA[University Project]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[dissertation]]></category>
		<category><![CDATA[Distributed Computing]]></category>
		<category><![CDATA[Proposal]]></category>
		<category><![CDATA[References]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[Virtual world]]></category>

		<guid isPermaLink="false">http://hazelmckendrick.com/?p=1577</guid>
		<description><![CDATA[Having spoken to Henry Fortuna yesterday about my new project topic, I&#8217;m feeling more confident about its suitability. It was established both that the particular problem I attempt to tackle will have a huge attempt on the project overall, and also that a simulation of characters moving in a virtual world should be a feasible [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://hazelmckendrick.com/wp-content/uploads/2009/10/3008734547_f7893c27a0_b-300x200.jpg" alt="3008734547_f7893c27a0_b" title="3008734547_f7893c27a0_b" width="300" height="200" class="alignright size-medium wp-image-1599" /> Having spoken to Henry Fortuna yesterday about my new project topic, I&#8217;m feeling more confident about its suitability.  It was established both that the particular problem I attempt to tackle will have a huge attempt on the project overall, and also that a simulation of characters moving in a virtual world should be a feasible situation.</p>
<p>Although I haven&#8217;t had as much time as I would have hoped for to construct another research question and I realise my ideas still require a lot of refinement, I have a (<i>very</i>) rough first draft of my proposal below.  Hopefully I can re-write and revise this based on any feedback I receive.  It&#8217;s all text from here on in because this is <i>serious business</i> &#8211; photo thanks to <a href="http://www.flickr.com/photos/theeponymousone/3008734547/">Daniel Conway</a>..<br />
<span id="more-1577"></span></p>
<h3>Introduction</h3>
<p>The aim of the investigation is to demonstrate how a series of computers, working in parallel, can be used to process and manage entities in a simple virtual world.  Techniques to manage distribution and handle a range of tasks concurrently, as well as for dealing with scalability and fault tolerance will be considered. </p>
<h3>Motivation</h3>
<p>Concurrency has become more and more of a prominent issue within software development, even a necessity to make the most of modern advances in hardware (Davies and Shrout, 2009).  With the majority current gaming systems sporting multiple-core CPUs (Valve Corporation, 2009) and consoles tailored towards parallel computation (Stokes, 2008), the importance and currency of this issue is particularly applicable to games programming. </p>
<p>However, nowhere is this issue more apparent than concerning the development of servers for Massively Multi-player Online Games.  These systems must be capable of managing a range of tasks concurrently, dealing with variations in load while still maintaining a stable throughpu (Waldo, 2008).  Even if it were possible to use a single machine for this endeavour, running costs alone(Atwood, 2007) make employing a variable number of distributed nodes a worthwhile consideration.</p>
<p>As such this specialised area of games development combines the problems of developing parallel applications with the issues of distributed computing, but unlike render farms which can take hours to produce movie frames (Christensen, P. H. et al, 2006), or scientific investigations which might extend for years at a time (SETI@home, 2009), results must be calculated in fractions of a second to allow the game to progress.  </p>
<p>Improvements to the organisation and throughput of clusters of locally distributed machines can offer clear benefits to the scope and hardware requirements for running massively multi-player online games.</p>
<h3>Research Question</h3>
<blockquote><p>How can the processing of a real-time virtual environment benefit from parallelisation over multiple distributed computer systems?</p></blockquote>
<h3>Addressing the Question</h3>
<p>Initially, a simplest-solution framework will be created to allow for parallel tasks to be distributed over multiple networked systems, overseen by a central server.  The desired simulation will be built on this and will involve the creation of a simple 2D environment, and characters which will be made to navigate and perform actions within it.  From this point the simulation will be optimised and improved, in particular investigating whether and how load balancing can increase performance and minimise hardware requirements. </p>
<p>Although performance of the simulation will be measured in terms of throughput, a range of factors will be considered when evaluating the solution and simply allowing processing to occur over multiple systems should answer the question to a large extent.</p>
<h3>Resources and Requirements</h3>
<p>Although ideally a Beowulf cluster (Beowulf, 2009) could be set up to allow a range of existing software to be utilised, this would involve additional requirements &#8211; most notably the installation of the Linux (or another *NIX) operating system to multiple machines.  There are few reasons why a similar setup could not be achieved using the Windows operating system currently installed on available lab computers.  Multi-platform support could possibly be investigated through my own hardware, if suitable libraries and approaches were chosen for the project.</p>
<p>Although the project will focus on distributed computation, systems with multiple CPU cores should prove beneficial to the simulation.  These should be available through the dual-core processors in the lab computers.</p>
<p>In terms of software, again the laboratory machines should provide the necessary packages, which might be supplemented with open source tools and libraries.</p>
<h3>References</h3>
<ul>
<li>Davies, L and Shrout, R. 2009. <i>Who Moved the Goal Posts? The Rapidly Changing World of CPUs</i> [online] Available from: <a href="http://www.gamasutra.com/view/feature/4168/sponsored_feature_who_moved_the_.php">http://www.gamasutra.com/view/feature/4168/sponsored_feature_who_moved_the_.php</a> [Accessed October 2009]<br />&nbsp;</li>
<li>Valve Corporation. 2009. <i>Steam Hardware Survey</i> [online] Available from: <a href="http://store.steampowered.com/hwsurvey/">http://store.steampowered.com/hwsurvey/</a> [Accessed October 2009]<br />&nbsp;</li>
<li>Stokes, J. 2008. <i>Game Console Architecture In-Depth</i> [online] Available from: <a href=http://arstechnica.com/hardware/news/2008/09/game-console-architecture-in-depth.ars">http://arstechnica.com/hardware/news/2008/09/game-console-architecture-in-depth.ars</a> [Accessed 2009]<br />&nbsp;</li>
<li>Waldo, J. 2008. <a href="http://portal.acm.org/citation.cfm?id=1483101.1483105&#038;coll=ACM&#038;dl=ACM&#038;CFID=58718348&#038;CFTOKEN=53308178">Scaling in Games &#038; Virtual Worlds</a>. <i>ACM Queue</i>. 6(7), pp.10-16.<br />&nbsp;</li>
<li>Atwood, J. 2007. <i>When Hardware is Free, Power is Expensive</i> [online] <a href=http://www.codinghorror.com/blog/archives/000868.html">http://www.codinghorror.com/blog/archives/000868.html</a> [Accessed May 2007]<br />&nbsp;</li>
<li>Christensen, P. H. et al, 2006.  Ray Tracing for the Movie &#8216;Cars&#8217;. In: <i>Proceedings of the IEEE Symposium on Interactive Ray Tracing 2006, Salt Lake City USA September 18-20.</i> IEEE. pp.1-6. [online] Available from: <a href="http://graphics.pixar.com/library/RayTracingCars/paper.pdf">http://graphics.pixar.com/library/RayTracingCars/paper.pdf</a>. [Accessed October 2009]<br />&nbsp;</li>
<li>SETI@home, 2009. [online] <a href="http://setiathome.berkeley.edu/sah_about.php">http://setiathome.berkeley.edu/sah_about.php</a>[Accessed October 2009]<br />&nbsp;</li>
<li>Beowulf. 2009 [online] <a href="http://www.beowulf.org/overview/index.html">http://www.beowulf.org/overview/index.html</a> [Accessed 2008]<br />&nbsp;</li>
</ul>
<h3>Bibliography</h3>
<p>As this is a rough draft, please see my <a href="http://delicious.com/karsithe/Concurrency">relevant delicious links</a>.  These are missing references to books, ACM publications, journals I can/could only read within the university and older bookmarks which I have found useful, so I will attempt to update in the near future with a refined, current listing.</p>
]]></content:encoded>
			<wfw:commentRss>http://hazelmckendrick.com/journal/a-sandpaper-like-proposal-draft/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

