Changes between Version 13 and Version 14 of GENIEducation/SampleAssignments/CCNAssignment/ExerciseLayout/Execute


Ignore:
Timestamp:
06/03/13 15:24:29 (11 years ago)
Author:
shuang@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/CCNAssignment/ExerciseLayout/Execute

    v13 v14  
    5858}}}
    5959  Note that the ''ccndc'' command takes a content path (ccnx:/ndn) and binds it to a network path (in this case, the host ''router'', which is a valid hostname on the experiment topology, resolving to an IP address on the ''router'' machine). It can also be used to delete routes with the ''del'' subcommand. 
    60   - '''Question 1.1 A: ''' [[BR]]
    61   From ''researcher2'', fetch the same data again (from 1902/01/01 to 1902/01/02), and record the fetch times reported by ''client.py''. It prints out the time take to pull each temporary file along with the concatenation and write time. Then fetch 1902/02/03 to 1902/02/04, and record those fetch times. Fetch 1902/02/03 to 1902/02/04 a second time, and record the new times. Which transfer was longest, and which was shortest? Knowing that each ccnd caches data for a short period of time, can you explain this behavior?
    62   - '''Question 1.1 B:''' [[BR]]
    63   Browse the content caches and interests seen on various hosts in the network by loading their ccnd status page on TCP port 9695 in your browser (see Section 5, Hints, below). Which hosts have seen interests and have content cached, and why?
     60   - '''Question 1.1 A: ''' [[BR]]
     61   From ''researcher2'', fetch the same data again (from 1902/01/01 to 1902/01/02), and record the fetch times reported by ''client.py''. It prints out the time take to pull each temporary file along with the concatenation and write time. Then fetch 1902/02/03 to 1902/02/04, and record those fetch times. Fetch 1902/02/03 to 1902/02/04 a second time, and record the new times. Which transfer was longest, and which was shortest? Knowing that each ccnd caches data for a short period of time, can you explain this behavior?
     62   - '''Question 1.1 B:''' [[BR]]
     63   Browse the content caches and interests seen on various hosts in the network by loading their ccnd status page on TCP port 9695 in your browser (see Section 5, Hints, below). Which hosts have seen interests and have content cached, and why?
    6464  - '''Task 1.2: Intent Propagation''' [[BR]]
    6565  ''This task will demonstrate the behavior of Intent filtering during propagation. ''[[BR]]
    6666  Log into the machine ''datasource1'' and run the command ''tail -f /tmp/atmos-server.log''. Next, run ''/opt/ccnx-atmos/client.py'' on both of the hosts researcher1 and researcher2. Enter 1902/01/15 as both start and end date on both hosts, and press <ENTER> on both hosts as close to the same time as possible.
    67   - '''Question 1.2 A:''' [[BR]]
    68   What intents show up at datasource1 for this request? (Use the timestamps in the server log to correlate requests with specific intents.) Will you observe unique or duplicate intents when both researcher1 and researcher2 fetch the same data at precisely the same time? Why? [[BR]][[BR]]
     67   - '''Question 1.2 A:''' [[BR]]
     68   What intents show up at datasource1 for this request? (Use the timestamps in the server log to correlate requests with specific intents.) Will you observe unique or duplicate intents when both researcher1 and researcher2 fetch the same data at precisely the same time? Why? [[BR]][[BR]]
    6969  - '''Task 1.3: Explore traffic patterns''' [[BR]]
    7070  ''For this task, you will start network monitoring services on your slice and observe the data traffic passing between hosts as you fetch various content.'' [[BR]]
    7171  Instrumentize your experiment using GEMINI following the instructions here: [http://www.protogeni.net/wiki/GeniTutorial GENIDesktop Tutorial]. [[BR]]
    7272  Log into the host collaborator1 and use the Atmos client to fetch data from 1902/01/28 to 1902/02/03. Look at the GEMINI data usage, and observe that data is pulled from both datasource1 and datasource2, through router to researcher1 and ultimately to collaborator1. Record or remember the data rates and volumes from this transaction. On the GEMINI web interface (GENIDesktop), show real-time graphs from datasource1, datasource2, router, researcher1 and collaborator1, record the throughput numbers or screenshot the graphs. [[BR]]
    73   - '''Question 1.3 A:''' [[BR]]
    74   Log into ''collaborator2'' and fetch the same dates. Which hosts transfer data? why?
    75   - '''Question 1.3 B''' [[BR]]
    76   Now fetch 1902/01/25 to 1902/01/31 from ''researcher2''. How does this transfer differ from the previous two? why?
     73   - '''Question 1.3 A:''' [[BR]]
     74   Log into ''collaborator2'' and fetch the same dates. Which hosts transfer data? why?
     75   - '''Question 1.3 B''' [[BR]]
     76   Now fetch 1902/01/25 to 1902/01/31 from ''researcher2''. How does this transfer differ from the previous two? why?
    7777
    7878 - '''3.2 Choosing Content Names'''  -- Files to download: [http://www.gpolab.bbn.com/experiment-support/CCNExampleExperiment/naming.rspec naming.rspec], [http://www.gpolab.bbn.com/experiment-support/CCNExampleExperiment/ccnx-atmos.tar.gz ccnx-atmos.tar.gz] [[BR]]
     
    9393  '''Implementation Hints:''' It is important understand how ''script.py'' uses NetCDF commands to extract relevant dimensions in the data files. The client (''client.py'') breaks up a user’s request into a collection of URIs (one for each day) and fetches them sequentially. For each URI, script.py generates a list of timestamps (a floating point number indicating the number of days elapsed since January 1, 1901). From the NetCDF data files, script.py extracts the fields that lie within these timestamps. The server side changes are minimal. Once a month’s granularity of data is received at the client side, it should be filtered to match the specific days requested by the user. [[BR]]
    9494  Retrieve a variety of dates in the January to February 1902 date range, and note again what interests are received at the server and how long the transfers take. [[BR]]
    95   - '''Question 2.1 A''' [[BR]]
    96   What general difference do you see in network behavior between these solutions?
    97   - '''Question 2.1 B''' [[BR]]
    98   Which URI scheme is more efficient in time and network resources if the user only wants a few days of data? What if the user wants a full calendar month of data? [[BR]]
     95   - '''Question 2.1 A''' [[BR]]
     96   What general difference do you see in network behavior between these solutions?
     97   - '''Question 2.1 B''' [[BR]]
     98   Which URI scheme is more efficient in time and network resources if the user only wants a few days of data? What if the user wants a full calendar month of data? [[BR]]
    9999
    100100 - '''3.3 Exploring the Impact of Caching'''  -- Files to download: [http://www.gpolab.bbn.com/experiment-support/CCNExampleExperiment/cache.rspec cache.rspec] [[BR]]
     
    105105  ''This task will demonstrate the benefit of opportunistic caching for static data used repeatedly.'' [[BR]]
    106106  Create a GENI slice using ''cache.rspec'' from [http://www.gpolab.bbn.com/experiment-support/CCNExampleExperiment/cache.rspec Here] (Note: this experiment does not require using GEMINI to monitor the network). This slice has only two hosts, a data source and a data consumer. The data source serves historical precipitation data using the Atmos server, which is static information. It has a long cache timeout for this reason — five minutes. The data consumer uses a shorter cache timeout of 60 seconds, and the link between the two emulates a moderate consumer broadband link. [[BR]]
    107   - '''Question 3.1 A''': [[BR]]
    108   From the host consumer run ''/opt/ccnx-atmos/client.py'' to fetch data from 1902/01/21 through 1902/01/24, and time the total transaction. Within 60 seconds, fetch the same data again, and time it. After 60 seconds (but before 300 seconds have passed), fetch it a third time, and time that. What is the benefit of local caching (the second fetch)? Is there perceptible benefit from server-side caching (the third fetch) when data takes some time to generate? [[BR]]
     107   - '''Question 3.1 A''': [[BR]]
     108   From the host consumer run ''/opt/ccnx-atmos/client.py'' to fetch data from 1902/01/21 through 1902/01/24, and time the total transaction. Within 60 seconds, fetch the same data again, and time it. After 60 seconds (but before 300 seconds have passed), fetch it a third time, and time that. What is the benefit of local caching (the second fetch)? Is there perceptible benefit from server-side caching (the third fetch) when data takes some time to generate? [[BR]]
    109109
    110110== 4. Other Projects ==