100% found this document useful (2 votes)
20 views

Distributed and Cloud Computing 1st Edition Hwang Solutions Manualpdf download

The document provides links to various solution manuals and test banks for different editions of textbooks, including 'Distributed and Cloud Computing' and 'Digital Logic and Microprocessor Design.' It also includes detailed solutions to specific problems from Chapter 6 of the 'Distributed and Cloud Computing' textbook, covering topics such as Google App Engine, Blobstore service, and Amazon SimpleDB. Additionally, it discusses the implementation of parallel matrix multiplication using Hadoop on the AWS platform.

Uploaded by

joysonnyto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
20 views

Distributed and Cloud Computing 1st Edition Hwang Solutions Manualpdf download

The document provides links to various solution manuals and test banks for different editions of textbooks, including 'Distributed and Cloud Computing' and 'Digital Logic and Microprocessor Design.' It also includes detailed solutions to specific problems from Chapter 6 of the 'Distributed and Cloud Computing' textbook, covering topics such as Google App Engine, Blobstore service, and Amazon SimpleDB. Additionally, it discusses the implementation of parallel matrix multiplication using Hadoop on the AWS platform.

Uploaded by

joysonnyto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

Distributed and Cloud Computing 1st Edition

Hwang Solutions Manual download

https://testbankdeal.com/product/distributed-and-cloud-
computing-1st-edition-hwang-solutions-manual/

Explore and download more test bank or solution manual


at testbankdeal.com
We have selected some products that you may be interested in
Click the link to download now or visit testbankdeal.com
for more options!.

Distributed Systems Concepts and Design 5th Edition


Coulouris Solutions Manual

https://testbankdeal.com/product/distributed-systems-concepts-and-
design-5th-edition-coulouris-solutions-manual/

Digital Logic and Microprocessor Design with Interfacing


2nd Edition Hwang Solutions Manual

https://testbankdeal.com/product/digital-logic-and-microprocessor-
design-with-interfacing-2nd-edition-hwang-solutions-manual/

Computer Accounting with QuickBooks Online A Cloud Based


Approach 1st Edition Yacht Solutions Manual

https://testbankdeal.com/product/computer-accounting-with-quickbooks-
online-a-cloud-based-approach-1st-edition-yacht-solutions-manual/

Drugs Society and Human Behavior 16th Edition Hart Test


Bank

https://testbankdeal.com/product/drugs-society-and-human-
behavior-16th-edition-hart-test-bank/
Statistics The Art and Science of Learning from Data 4th
Edition Agresti Solutions Manual

https://testbankdeal.com/product/statistics-the-art-and-science-of-
learning-from-data-4th-edition-agresti-solutions-manual/

Taxation of Individuals 2018 Edition 9th Edition Spilker


Solutions Manual

https://testbankdeal.com/product/taxation-of-
individuals-2018-edition-9th-edition-spilker-solutions-manual/

21st Century Astronomy 5th Edition Kay Test Bank

https://testbankdeal.com/product/21st-century-astronomy-5th-edition-
kay-test-bank/

Laboratory Manual for Anatomy and Physiology 6th Edition


Marieb Solutions Manual

https://testbankdeal.com/product/laboratory-manual-for-anatomy-and-
physiology-6th-edition-marieb-solutions-manual/

Prescotts Microbiology 10th Edition Willey Solutions


Manual

https://testbankdeal.com/product/prescotts-microbiology-10th-edition-
willey-solutions-manual/
Intentional Interviewing and Counseling Facilitating 9th
Edition Ivey Solutions Manual

https://testbankdeal.com/product/intentional-interviewing-and-
counseling-facilitating-9th-edition-ivey-solutions-manual/
Solutions to Homework Problems in Chapter 6
Hwang, Fox and Dongarra: Distributed and Cloud Computing,
Morgan Kaufmann Publishers, copyrighted 2012
Note: The solutions of Chapter 6 problems were assisted by graduate students from
Indiana University under the supervision of Dr. Judy Qiu:

Problem 6.1:
Get the source code from: http://dl.dropbox.com/u/12951553/bookanswers/answer6.1.zip

(a). We implemented a demo system, which is quite simple in its functionality: there’s a search
box used to find contacts, and once a contact has been found, we list recent emails and
attachments associated with the contact. To do this, the application offers 3 urls that are
called by the JavaScript running in the browser to obtain the data: search.json,
messages.json and files.json.
How the system respond to the request to get message history for a given contact
is done by calling /messages.json which accepts an email address as a GET parameter.
Note, this functionality requires an authentication step not shown here. The code behind
that call is as follows:

class MessagesHandler(webapp.RequestHandler):
def get(self):
current_user = users.get_current_user()
current_email = current_user.email()

emailAddr = self.request.get('email')
contextIO = ContextIO(api_key=settings.CONTEXTIO_OAUTH_KEY,
api_secret=settings.CONTEXTIO_OAUTH_SECRET,
api_url=settings.CONTEXTIO_API_URL)
response = contextIO.contactmessages(emailAddr,account=current_email)
self.response.out.write(simplejson.dumps(response.get_data()))

The code simply uses the contactmessages.json API call of and returns all the messages
including the subject, other recipients, thread ID, and even attachments in JSON format.
The complete code for this demo application has been made available by the Context.IO team
on our GitHub account (https://github.com/contextio/AppEngineDemo).
This answer is based on the Google App Engine Blog Post at
http://googleappengine.blogspot.com/2011/05/accessing-gmail-accounts-from-app.html.

(b). The dashboard of Google App Engine provides measurement on useful aspects of the
deployed application. For example, execution logs, version control, quota details, datastore
viewer, administration tools. It also provides detailed resource usage information as the
following:

6-1
Critical measurement can be easily retrieved from this powerful dashborad.

(c) . Automatic scaling is built in with App Engine, and it’s not visible to users.
http://code.google.com/appengine/whyappengine.html#scale

6-2
Problem 6.2:
Get the source code: http://dl.dropbox.com/u/12951553/bookanswers/answer6.2.zip

Here we design a very simple data storage system using the Blobstore service to
illustrate how Google App Engine handles data. The Blobstore API allows your application to
serve data objects, called blobs, that are much larger than the size allowed for objects in the
Datastore service. Blobs are useful for serving large files, such as video or image files, and for
allowing users to upload large data files. Blobs are created by uploading a file through an HTTP
request.

Typically, your applications will do this by presenting a form with a file upload field to the
user. When the form is submitted, the Blobstore creates a blob from the file's contents and
returns an opaque reference to the blob, called a blob key, which you can later use to serve the
blob. The application can serve the complete blob value in response to a user request, or it can
read the value directly using a streaming file-like interface. This system includes the following
functions: user login, data listing, data upload/download. Gzip compression is used when
possible to decrease the cost.

User login: This function is implemented using the User Service provided in GAE. If the user
is already signed in to your application, get_current_user() returns the User object for the user.
Otherwise, it returns None. If the user has signed in, display a personalized message, using the
nickname associated with the user's account. If the user has not signed in, tell webapp to
redirect the user's browser to the Google account sign-in screen. The redirect includes the URL
to this page (self.request.uri) so the Google account sign-in mechanism will send the user back
here after the user has signed in or registered for a new account.

user = users.get_current_user()
if user:
self.response.headers['Content-Encoding'] = 'gzip'
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, ' + user.nickname())
self.response.out.write('<a href=' + users.create_logout_url("/") +'>sign out</a><br/>');
else:
self.redirect(users.create_login_url(self.request.uri))

The content is gzip compressed when sent back from the server. Also, a log out link is provided.

Data listing: To list the data uploaded by a specific user, the GQL is used to guarantee users
can only see/access data belongs to him.

class Blob(db.Model):
"""Models a data entry with an user, content, name, size, and date."""
user = db.UserProperty()
name = db.StringProperty(multiline=True)
content = blobstore.BlobReferenceProperty(blobstore.BlobKey)
date = db.DateTimeProperty(auto_now_add=True)
size = db.IntegerProperty()

6-3
This defines a data blob class with five properties: user whose value is a User object, name
whose value is a String, content whose value is a BlobKey pointed to this blob, date whose
value is datetime.datetime, and size whose value is an Integer. GQL, a SQL-like query
language, provides access to the App Engine datastore query engine's features using a familiar
syntax. The query happens here:

blobs = db.GqlQuery("SELECT * "


"FROM Blob "
"WHERE user = :1", user)
This can return all blobs uploaded by this user.

Data upload: To create and upload a blob, follow this procedure:


Call blobstore.create_upload_url() to create an upload URL for the form that the user will fill
out, passing the application path to load when the POST of the form is completed:

upload_url = blobstore.create_upload_url('/upload')
There is an asynchronous version, create_upload_url_async(). It allows your application
code to continue running while Blobstore generates the upload URL.
The form must include a file upload field, and the form's enctype must be set to multipart
/form data. When the user submits the form, the POST is handled by the Blobstore API, which
creates the blob. The API creates an info record for the blob and stores the record in the
datastore, and passes the rewritten request to your application on a given path as a blob key:

self.response.out.write('<html><body>')
self.response.out.write('<form action="%s" method="POST" enctype="multipart/form-data">' %
upload_url)
self.response.out.write("""Upload File: <input type="file" name="file"><br> <input type="submit"
name="submit" value="Submit"> </form></body></html>""")

• In this handler, you can store the blob key with the rest of your application's data model.
The blob key itself remains accessible from the blob info entity in the datastore. Note that
after the user submits the form and your handler is called, the blob has already been
saved and the blob info added to the datastore. If your application doesn't want to keep
the blob, you should delete the blob immediately to prevent it from becoming orphaned:

class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
try:
upload_files = self.get_uploads('file') # 'file' is file upload field in the form
blob_info = upload_files[0]
myblob = Blob()
myblob.name = blob_info.filename
myblob.size = blob_info.size
myblob.user = users.get_current_user()
myblob.content = blob_info.key()
myblob.put()
self.redirect('/')
except:

6-4
self.redirect('/')

• The webapp framework provides


the blobstore_handlers.BlobstoreUploadHandler upload handler class to help you parse
the form data. For more information, see the reference for BlobstoreUploadHandler.
• When the Blobstore rewrites the user's request, the MIME parts of the uploaded files
have their bodies emptied, and the blob key is added as a MIME part header. All other
form fields and parts are preserved and passed to the upload handler. If you don't specify
a content type, the Blobstore will try to infer it from the file extension. If no content type
can be determined, the newly created blob is assigned content type application/octet-
stream.

Data download: To serve blobs, you must include a blob download handler as a path in your
application. The application serves a blob by setting a header on the outgoing response. The
following sample uses the webapp framework. When using webapp, the handler should pass
the blob key for the desired blob to self.send_blob(). In this example, the blob key is passed to
the download handler as part of the URL. The download handler can get the blob key by any
means you choose, such as through another method or user action.

class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, resource):
resource = str(urllib.unquote(resource))
blob_info = blobstore.BlobInfo.get(resource)
self.send_blob(blob_info)
The webapp framework provides the download handler class blobstore_handlers.
BlobstoreDownloadHandler to help you parse the form data. For more information, see the
reference for BlobstoreDownloadHandler. Blobs can be served from any application URL. To
serve a blob in your application, you put a special header in the response containing the blob
key. App Engine replaces the body of the response with the content of the blob.

Problem 6.3:
Source code: http://dl.dropbox.com/u/12951553/bookanswers/answer6.3.zip

For this question, we provided a JAVA SimpleDB application with all critical functions like
domain creation, data insertion, data edition, data deletion, and domain deletion. With these
functions demonstrate how to make basic requests to Amazon SimpleDB using the AWS SDK
for Java. The reader can easily scale this application up to meet the requirements from the
question.

Prerequisites: You must have a valid Amazon Web Services developer account, and be signed
up to use Amazon SimpleDB. For more information on Amazon SimpleDB, please refer to

http://aws.amazon.com/simpledb

http://aws.amazon.com/security-credentials

Problem 6.4:

6-5
Now, design and request an EC2 configuration on the AWS platform for parallel
multiplication of two very large matrices with an order exceeding 50,000.

Source code : http://156.56.93.128/PBMS/doc/answer6.4.zip

The parallel matrix multiplication is implemented using Hadoop 0.20.205, and experiments are
performed on Amazon EC2 platform with sample matrices between orders of 20,000 and
50,000. Steps to implement parallel matrix multiplication using Hadoop is as follows:

1) Split Matrix A and Matrix B into two grid of n*n blocked matrices. There will be 2*n*n
Map tasks, and n*n Reduce tasks.
2) Each Map task holds either A[p][q] or B[p][q] and then sends it to ‘n’ Reduce tasks
r[p][1<i<n], or r[1< j<n][q] respectively.
3) Each Reduce task r[p][q] receive 2*n sub-matrices which include A[p][1<i<n], and
B[q][1<j<n] from Map tasks, then Reduce task multiply A[p][1<i<n] to B[q][1<j<n], then
sum them up.

The advantages of this algorithm are: 1) splitting large matrix into small sub-matrices such
that working memory of sub-matrices can be fit in memory of small EC2 instance. 2) many small
tasks increase the application parallelism. The disadvantages include the parallel overhead in
terms of scheduling, communication, and sorting caused by many tasks.

EC2 configuration
In the experiments, we use instance type: EMR, M1.small: 1.7GB memory, 1core per node. We
created four instances group with 1, 2, 4, 8, 16 nodes respectively. One should note that
Hadoop jobtracker and namenode take one node for dedicated usage for the 2,4,8,16 nodes
cases.
Steps:
a. ./elastic-mapreduce --create --instance-count 16 –alive (apply resource)
b. ./elastic-mapreduce --jobflow j-22ZM5UUKIK69O –ssh (ssh to master node)
c. ./ s3cmd get s3://wc-jar/ matrix-multiply-hadoop.jar (download program jar file)
d. ./s3cmd get s3://wc-input/matrix-50k-5k ./50k-5k (download input data)
e. Hadoop dfs –put 50k-5k/* 50k-5k (upload data to HDFS)
f. Hadoop jar matrix-multiply-hadoop.jar 50k-5k output 50000 5000 10 (run
program)

Analysis
Figure1,2,3,4 show that our parallel matrix multiply implementation can scale well in EC2
especially for large matrices. For example, the relative speed-up for processing 20k,30k,40k,50k
data are 4.43, 7.75, 9.67, 11.58 respectively when using 16 nodes. The larger the matrices
sizes are, the better the parallel efficiency the application have. (The reason why performance
using two nodes is only a little faster than one node case is because the jobtracker and
tasktracker were run on separate nodes).
Other issues in the experiments:
Storage utilization: data size are 16GB+36GB+64GB+100GB for 20k, 30k,40k,50k data sets
respectively, and there are 216GB data in total. The total costs for the experiments are input
data transfer in: $0.1*216GB = $21.6; EC2 instances: M1.small, 290hours*$0.08/hour = $23.2.
System metric, such as resource utilization: using “CloudWatch” in AWS Management Console.
Fault tolerance, see answer for problem 4.10.

Experiments results

6-6
Figure 1:Parallel Matrix Multiply for 20K Figure 2:Parallel Matrix Multiply for 30K

Figure3:Parallel Matrix Multiply for 40K Figure4:Parallel Matrix Multiply for 50K

Problem 6.5:
We implemented the parallel matrix multiply application using EMR and S3 on AWS
platform. The basic algorithm and configuration are as the same as in problem 6.4. The only
difference is that in problem 6.6, Hadoop retrieve the input data from S3 rather than HDFS in
problem 6.4.

Analysis
Figure1,2,3,4 show that the parallel matrix multiply can scale well in EMR/S3 environment
especially for large matrices. The relative speed-up of processing 20k,30k,40k,50k data are
7.24, 12.3, 16.4, 19.39 respectively when using 16 nodes. The super-linear speedup results
were mainly caused by serious network contention when using single node to retrieve input data
from S3. As compared to results using HDFS in problem 6.4, the results of 20k, 30k, 40k, 50k
data sets using S3 on 16 nodes are 1.3, 1.65, 1.67, 1.66 times slower in job turnaround time
respectively. The results using fewer nodes are even much slower. For example, the results of
50k data using S3 using 2 nodes are 2.19 times slower than HDFS case. These results indicate
the big overhead when using Hadoop retrieves input data from S3. In figure 5, we show the
average speed of transferring data from S3 to EC2 instance is 8.54MB/sec. The detailed
algorithm, configuration and analysis of other issues such as speedup, cost-efficiency see
answers in problem 6.4.

Performance Results:

6-7
Figure 1:Parallel Matrix Multiply for 20K Figure 2: Parallel Matrix Multiply for 30K

Figure3: Parallel Matrix Multiply for 40K Figure4:Parallel Matrix Multiply for 50K

Figure 5: S3 data transferring speed

Problem 6.6:
Outline of Eli Lilly cloud usage

Eli Lilly uses cloud computing in its research area of the company. In silico analyses is a
large part of the research process for the pharmaceutical industry, and Eli Lilly is no exception.
Cloud computing provides Lilly the ability for bursting capabilities when its internal compute
environment is being utilized. Additionally, Eli Lilly relies on cloud computing for analyses on
public datasets, where there is little to no concern on intellectual property or security. By running
these analyses outside of its primary data centers, the company can free up internal resources
for high performance computing and high throughput computing workflows that either may not fit
well in the cloud or the analyses are considered more proprietary or regulated.

6-8
As of 2009, Eli Lilly was mainly using Amazon Web Services cloud, but have plans for
using many more cloud vendors in the future, requiring an orchestration layer between Eli Lily
and the various cloud services. According to Eli Lilly, a new server in AWS can be up and
running in three minutes compared to the seven and a half weeks it take to deploy a server
internally. A 64-node AWS Linux cluster can be online in five minutes compared with three
months it takes to set such a cluster internally.

One of the main drivers for Lilly to use the cloud is to speed development efforts through
the drug pipeline more quickly. If analyses can be done in a fraction of the time because of the
scale of the cloud then thousands of dollars spent on utility computing to speed up the pipeline
can generate millions of dollars of revenue in a quicker timeframe.

Sources:
http://www.informationweek.com/news/hardware/data_centers/228200755
http://www.informationweek.com/news/healthcare/clinical-systems/227400374
http://www.informationweek.com/cloud-computing/blog/archives/2009/01/whats_next_in_t.html

Problem 6.7:
The source codes of this application can be obtained from the following link:
http://dl.dropbox.com/u/27392330/forCloudBook/AzureTableDemo-gaoxm.zip .
Using the Azure SDK for Microsoft Visual Studio, we developed a simple web application as
shown in the following Figure. This application is extended from the Azure Table demo made by
Nancy Strickland (http://www.itmentors.com/code/2011/03/AzureUpdates/Tables.zip),
It can be used to demonstrate the application of Windows Azure Table, and to finish some
simple performance tests of Windows Azure Table. A Web role is created for this application,
which accesses the Windows Azure Table service from the Web server side. When the "Add
Customer" button is clicked, a new entity will be created and inserted in to an Azure table.
When the "Query Customer" button is clicked, the table is queried with the customer code and
the customer's name will be shown after "Name". And when proper values are set in the
"number of rows", "batch size", and "start rowkey" boxes, users can click the different "test"
buttons to complete different performance tests for Windows Azure Table.
Besides the local version, we also tried to deploy the application on a virtual machine in the
Azure cloud. Some experiences we got from writing and deploying this application are:
1. The concept and separation of "Web role", "VM role" and "Worker role" during development
are not straightforward to understand, and it takes some time to learn how to develop Azure
applications.

2. Users cannot remotely login to VMs by default. It takes some special configurations. Besides,
the security restrictions on VMs make it hard to operate the VMs. For example, almost all
websites are marked as "untrusted" by IE in the VMs, which makes it very hard to even
download something using the browser.

3. The SDK for Microsoft Visual Studio is powerful. The integration of the debugging and
deployment stages in Visual Studio is very convenient and easy to use. However, the
deployment process takes a long time, and it is hard to diagnose what is wrong if the
deployment fails.

6-9
4. Overall, we think the Amazon EC2 models and Amazon Web Services are easier to
understand and closer to developers' current experience

Figure 4. A simple Windows Azure Web application using Azure Table

Figure 5. Read and write speed for Windows Azure Table

Problem 6.8:
In Map-Reduce Programming model, there is a special case with implementing only the
map phase, which is also known as “map-only” problem. This achievement can enhance
existing application/binary to have high throughput with running them in parallel fashion; in other
word, it helps standalone program to utilize the large scale computing capability. The goal of
this exercise is to write a Hadoop “map-only” program with a bioinformatics application BLAST
(NCBI BLAST+: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.23/) under a Linux/Unix
environment.

6 - 10
Visit https://testbankdead.com
now to explore a rich
collection of testbank,
solution manual and enjoy
exciting offers!
Source code: http://dl.dropbox.com/u/12951553/bookanswers/feiteng_blast.zip

For details usage about the source code, please refer to


http://salsahpc.indiana.edu/tutorial/hadoopblast.html.

Problem 6.9:
This problem is research-oriented. Visit the posted Manjrasoft Aneka Software web site
for details and example Solutions.

Problem 6.10:
Repeat applications in Problems 6.1 to 6.7 using the academic/open source packages
described in Section 6.6 namely Eucalyptus, Nimbus, OpenStack, OpenNebula, Sector/Sphere.
This software is all available on FutureGrid http://www.futureGrid.org with a number of tutorials.

FutureGrid Tutorials - https://portal.futuregrid.org/tutorials


Using Eucalyptus on FutureGrid - https://portal.futuregrid.org/tutorials/eucalyptus
Using Nimbus on FutureGrid - https://portal.futuregrid.org/tutorials/nimbus
Using OpenStack on FutureGrid - https://portal.futuregrid.org/tutorials/openstack

Answer to question 6.15 also provides an overview of using Hadoop on FutureGrid cloud
envrionments.

Problem 6.11:
Test run the large-scale matrix multiplication program on two or three cloud performs (GAE,
AWS, and Azure). You can also choose another data-intensive application such as large-scale
search or business processing applications involving the masses from the general public.
Implement the application on at least two or all three cloud platforms, separately. The major
objective is to minimize the execution time of the application. The minor objective is to minimize
the user service costs. (a) Run the service on the Google GAE platform

(b) Run the service on the Amazon AWS platform

(c) Run the service on the Windows Azure platform

(d) Compare your compute and storage costs, design experiences, and experimental
results on all three cloud platforms. Report their relative performance and QoS results
measured.

Implementations:
The implementation of large-scale matrix multiplication program on AWS and Azure using
Hadoop and MPI are given in this chapter. The solution using Hadoop on Amazon AWS
platform was discussed in problem 6.4&6.6. Here we discuss the solution using MPI on Azure
HPC scheduler. A parallel matrix multiply algorithm, named Fox algorithm, was implemented
using MS.MPI. Then we created the host service and deployed the Windows HPC cluster on
Azure using Azure HPC Scheduler SDK tools. After that we logon to HPC cluster head node
and submit the large scale matrix multiplication there.
Source code : http://156.56.93.128/PBMS/doc/answer6.14.zip

Steps:
1) Setup Azure HPC SDK environment:
http://msdn.microsoft.com/en-us/library/windowsazure/hh545593.aspx

6 - 11
2) Configure and deploy HPC Cluster on Azure.
http://msdn.microsoft.com/en-us/library/hh560239(v=vs.85).aspx
3) Logon to head node of HPC cluster and copy executable binary on head node
4) Setup execution environment and configure firewall exception:
clusrun /nodegroup:computenode xcopy /E /Y \\HEADNODE1\approot\*.* F:\approot\
clusrun /nodegroup:computenode hpcfwutil register FoxMatrix.exe
F:\approot\FoxMatrix.exe
http://msdn.microsoft.com/en-us/library/hh560242(v=vs.85).aspx.
5) Submit MPI job to HPC scheduler:
job submit /nodegroup:computenodes /numnodes:16 mpiexec -n 16 -wdir F:\approot\
F:\approot\FoxMatrix.exe 16000
Comparison:
As compared with Amazon AWS, both the two platforms provide graphic interface for users to
deploy Hadoop or HPC cluster respectively. Developers can submit the HPC jobs and Hadoop
jobs to the dynamically deployed cluster either on the head node or on the client PC through job
submission API. In regard to the performance, both applications run on Azure and EC2 show
the performance fluctuation. Figure 1&2 show the maximum error of performance fluctuation of
Hadoop using S3, Hadoop using HDFS, MPIAzure, MPICluster are 8.1%, 1.9%, 5.3%, and
1.2% respectively. The network bandwidth fluctuation is the main reason lead to performance
fluctuation of Hadoop S3 implementation. The performance fluctuation of MPIAzure
implementation is due to the aggregated delay of MPI communication primitives caused by
system noise in guest OS in Cloud environment.

Figure 1: performance fluctuate of Hadoop using Figure 2: performance fluctuate of MPIAzure


HDFS and S3 for different problem sizes and MPIHPC for different problem sizes.

Performance analysis:
Performance analysis of parallel matrix multiplication on Amazon EC2 has been discussed
in problem 6.4. This section just analysis performance of MPIAzure implementation. Figure 1
show the speedup of the MPICluster implementation is 8.6%, 37.1%, and 19.3% faster than that
of MPIAzure implementation when using 4, 9, and 16 nodes respectively. Again, the
performance degradation of MPIAzure implementation is due to the poor network performance
in Cloud environment.
This is caused by the poor network performance in Cloud environment. Figure 4 shows
the performance of Fox algorithm of three implementations using 16 compute nodes. As
expected, MPIAzure is slower than MPICluster, but is faster than DryadCluser. Figure 4&5 show
the parallel overhead versus 1/Sqrt(n), where n refers to number of matrices elements per node.

6 - 12
In figure 5, the parallel overhead using 5x5, 4x4 and 3x3 nodes cases are linear in 1/Sqrt(n),
which indicate the Fox MS.MPI implementation scale well in our HPC cluster with the infinite
band network. In figure 4, the parallel overhead using 3x3 and 4x4nodes do not converge to X
axis for large matrices sizes. The reason is the serious network contention occurred in Cloud
environment when running with large matrices.

Figure 3: speedup for number of nodes using Figure 4: Job time of different runtime on Azure and
MPIAzure and MPICluster on difference nodes HPC cluster for different problem sizes

Figure 5: parallel overhead vs. 1/Sqrt(n) for the Figure 6: parallel overhead vs. 1/Sqrt(n) for the
Fox/MPIAzure/MKL on 3x3 and 4x4 nodes Fox/MPICluster/MKL on 3x3 and 4x4 nodes

Problem. 6.12:
Google Apache Hadoop Microsoft
Programming MapReduce MapReduce Dryad
Environment
Coding Language
and Programming
Model used
Mechanisms GFS(Google HDFS (Hadoop Shared directories
for Data File System) Distributed File and local disks
Handling System)
Failure handling Re-execute failed Re-execution of Re-execution of
Methods tasks and deplicated failed tasks; failed tasks;

6 - 13
execu- tion of the Duplicate Duplicate execution
slow tasks execution of slow of slow tasks
tasks
High-Level Sawzall Pig Latin, Hive DryadLINQ
Language
for data anlysis
OS and Cluster Linux Clusters Linux Clusters, Windows HPCS
Environment Amazon Elastic cluster
MapReduce
on EC2
Intermediate data By File transfer By File transfer File, TCP pipes,
transfer method or using the http or using the http shared-memory
links links FIFOs

Problem 6.13:
The following program illustrates a sample application for image filtering using Aneka’s
MapReduce Programming Model. Note that the actual image filtering is dependent on the
problem domain and you may use any algorithm you see fit.

class Program
{
/// Reference to the configuration object.
static Configuration configuration = null;
/// Location of the configuration file.
static string configurationFileLocation = "conf.xml";
/// Processes the arguments given to the application and according
to the parameters read runs the application or shows the help.
/// <param name="args">program arguments</param>
static void Main(string[] args)
{
try
{
//Process the arguments
Program.ProcessArgs(args);
Program.SetupWorkspace();
//configure MapReduceApplication
MapReduceApplication<ImageFilterMapper, ImageFilterReducer>
application = new MapReduceApplication<ImageFilterMapper,
ImageFilterReducer>("ImageFilter", configuration);
//invoke and wait for result
application.InvokeAndWait(new EventHandler<Aneka.Entity.
ApplicationEventArgs>
(OnApplicationFinished));
}
catch (Exception ex)
{
Console.WriteLine(" Message: {0}", ex.Message);
Console.WriteLine("Application terminated unexpectedly.");
}
}
/// Hooks the ApplicationFinished events and Process the results
if the application has been successful.
/// <param name="sender">event source</param>
/// <param name="e">event information</param>
6 - 14
static void OnApplicationFinished(object sender,
Aneka.Entity.ApplicationEventArgs e)
{
if (e.Exception != null)
{
Console.WriteLine(e.Exception.Message);
}

Console.WriteLine("Press enter to finish!");


Console.ReadLine();
}

/// Processes the arguments given to the application and according


to the parameters read runs the application or shows the help.
/// <param name="args">program arguments</param>

static void ProcessArgs(string[] args)


{
for (int i = 0; i < args.Length; i++)
{
switch (args[i])
{
case "-c":
i++;
configurationFileLocation = args[i];
break;
default:
break;
}
}
}

/// Initializes the workspace

static void SetupWorkspace()


{
Configuration conf = Configuration. GetConfiguration(
Program.configurationFileLocation);
Program.configuration = conf;
}
}

/// Class ImageFilterMapper. Mapper implementation for the ImageFilter


application. The Map method reads the source images and performs the
required filtering. The output of the Map function is the filtered image.

public class ImageFilterMapper : Mapper<string, BytesWriteable>


{
/// The Map function receives as input the name of the image and its
contents. The filtering is then performed on the contents before
writing the results back to the storage.
/// <param name="input">A key-value pair representing the name of the
/// file and its contents.</param>

6 - 15
Other documents randomly have
different content
a choctaw council.

The conduct of the government of the United States towards the


Indian tribes, however politic it may seem, is certainly not based
upon the Christian precept “to do unto others as we would that they
should do unto us.” All our proceedings towards them have tended
to their gradual extirpation from the land of their birth. Our wars,
our treaties, our purchases of land, our system of intercourse with
them, have all the same end. The following extract will show how
well the Indians understand this.
The reader will recollect, that it has become the settled policy of the
United States to remove the several tribes of Indians to a country
west of the Mississippi. In order to discuss and determine on this
subject, in 1830 the Choctaw Indians held a council, in which it was
resolved to sell off their lands to the United States, for one million of
dollars, and to remove without the States, provided Government
would give to each man a section of land, in fee simple, west of the
Mississippi, and be at the expense of transporting the tribe to their
place of destination, and of supporting them twelve months after
their arrival. The council sat four days, and the following is a short
sketch of their proceedings:—
The National Council was organized in the afternoon of the 15th of
March. This was a juncture of peculiar interest. To see the rulers of a
people, preparing to decide upon a course in which their posterity, to
the latest generation, was deeply affected, could not but produce a
deep and universal solemnity, and this interest was greatly increased
by the bitter tears shed by some of the females present. The voice
of sorrow is always eloquent; but, at such a season, never could the
female voice speak more forcibly the sympathies of our nature. Who
could avoid exclaiming, ‘O, my native country! Land of my fathers, I
must leave thee!’
The Chief presented them with a concise view of the difficulties of
their situation, and the alternatives which were before them, and the
sad necessity of immediately making their selection. It was at the
intimation, that a removal was one of the alternatives, that the
women wept.
The Chief was followed by an old Captain in the nation, who, in brief
simplicity, recounted his sufferings as a warrior and captain, in
fighting for his White brothers, under General Jackson. He named
several places where he had fought, and seen the Choctaws bleed
and die. At that time, little did he think that his White brothers would
ever make it necessary for him, in his old age, to leave his country,
and the bones of his father. He would greatly prefer giving up his
country, than submit to laws, the nature of which he could not learn,
and among a people, the wicked part of whom would harass and
ruin them. He expressed a belief that the President would give them
a good treaty; and, if he would do so, aged as he was, he would
give his voice to go to their lands west of the Mississippi—and,
moreover, expressed his belief, that the Great Father above, would
go with them, and bless them in their new home.
A Captain of the eastern part of the nation, next came forward. He
appeared many years in advance of the first speaker. His white head,
palsied limbs, and tremulous voice, made him an object of deepest
interest. He was said to have been a warrior under General Wayne.
He recounted some of the scenes of his past life, and the hopes
which had borne him onward in his course;—he touched upon the
disappointment that had clouded his setting sun; but, awakening, as
if by supernatural power, he spoke boldly of his confidence in his
Great Father above, and expressed his full assurance, that He would
accompany his nation, and bless them. The discussion continued
until a late hour of the fourth day, when the vote was taken, and
found in favour of emigration.
the young indian chief.
4

This young warrior, of fine size, figure and countenance, is now


about 25 years old. At the age of 21 his heroic deeds had acquired
for him in his nation the rank of “bravest of the brave.” The savage
practice of torturing and burning to death their prisoners existed in
this nation. An unfortunate female taken in war, of the Paduca
nation, was destined to this horrible death. The fatal hour had
arrived, the trembling victim, far from her home and her friends, was
fastened to the stake; the whole tribe was assembled on the
surrounding plain to witness the awful scene. Just when the fire was
about to be kindled, and the spectators on the tiptoe of expectation,
this young warrior, who sat composedly among the chiefs, having
before prepared two fleet horses, with the necessary provisions,
sprung from his seat, rushed through the crowd, loosed the victim,
seized her in his arms, placed her on one of the horses, mounted the
other himself, and made the utmost speed towards the nation and
friends of the captive. The multitude, dumb and nerveless with
amazement at the daring deed, made no effort to rescue their victim
from her deliverer. They viewed it as an act of the Great Spirit,
submitted to it without a murmur, and quietly returned to their
village. The released captive was accompanied through the
wilderness towards her home, till she was out of danger. He then
gave her the horse on which she rode, with the necessary provisions
for the remainder of the journey, and they parted. On his return to
the village, such was the respect entertained for him, that no inquiry
was made into his conduct; no censure was passed on it, and since
the transaction, no human sacrifice has been offered in this or any
other of the Pawnee tribes. Of what influence is one bold act in a
good cause!
On the publication of this anecdote at Washington, the young ladies
of Miss White’s Seminary, in that city, presented that brave and
humane Indian with a handsome silver medal, on which was
engraven an appropriate inscription, accompanied by an address, of
which the following is the close:—“Brother, accept this token of our
esteem; always wear it for our sake; and when you have again the
power to save a poor woman from death and torture, think of this,
and of us, and fly to her rescue.”
red jacket.

It happened during the Revolutionary war, that a treaty was held


with the Indians, at which La Fayette was present. The object was to
unite the various tribes in amity with America. The majority of the
Chiefs were friendly, but there was much opposition made to it,
more especially by a young warrior, who declared that when an
alliance was entered into with America, he should consider the sun
of his country as set forever. In his travels through the Indian
country, when lately in America, it happened at a large assemblage
of Chiefs, that La Fayette referred to the treaty in question, and
turning to Red Jacket, said, “pray tell me if you can, what has
become of that daring youth, who so decidedly opposed all our
propositions for peace and amity? Does he still live—and what is his
condition?” “I, myself, am the man,” replied Red Jacket, “the decided
enemy of the Americans, as long as the hope of opposing them with
success remained, but now their true and faithful ally until death.”
indian mode of getting a wife.

An aged Indian, who for many years had spent much of his time
among the white people both in Pennsylvania and New Jersey, one
day, about the year 1770, observed, that the Indians had not only a
much easier way of getting a wife than the whites, but were also
more certain of getting a good one; ‘for’ (said he in his broken
English) ‘white man court—court—may be one whole year!—may be
two before he marry!—well!—may be then get very good wife—but,
may be not—may be very cross! Well now, suppose cross! Scold so
soon as get awake in the morning! Scold all day! Scold until sleep!—
all one; he must keep him! White people have law forbidding
throwing away wife, be he ever so cross! must keep him always!
Well? how does Indian do? Indian when he see industrious squaw,
which he like, he go to him, place his two fore-fingers close aside
each other, make two look like one—look squaw in the face—see him
smile—which is all one he say, yes! so he take him home—no danger
he be cross! no! no! Squaw know too well what Indian do if he be
cross!—throw him away and take another! Squaw love to eat meat!
no husband! no meat! Squaw do every thing to please husband; he
do the same to please squaw! live happy!’
shenandoh, the oneida chief.

Although the dignity of a chief is hereditary in his family, generally,


the aristocracy of the Indians is not one of birth merely, nor one of
wealth; but it is an aristocracy of merit. A chief is liable to be
deposed for misconduct; and a brave warrior takes his place on
account of the actions he has performed. Among those who have
maintained an ascendancy among their countrymen by the force of
individual merit, none is more remarkable than Shenandoh, the
Oneida chief.
This celebrated chief, whose life measured a century, died in 1816.
He was well known in the wars which occurred while the United
States were British colonies; and, also, in the war of the Revolution
—as the undeviating friend of the Americans.
In his youth he was very savage, and addicted to drunkenness; but,
by the force of reflection, and the benevolent exhortations of a
missionary to the tribe, he lived a reformed man for more than sixty
years, and died in Christian hope.5
Shenandoh’s person was tall and muscular, but well made—his
countenance was intelligent, and beamed with all the ingenuous
dignity of an Indian Chief. In youth, he was brave and intrepid—in
his riper years, one of the ablest counsellors among the North
American tribes. He possessed a strong and vigorous mind; and,
though terrible as the tornado, in war—he was bland and mild as the
zephyr, in peace. With the cunning of the fox, the hungry
perseverance of the wolf, and the agility of the mountain cat, he
watched and repelled Canadian invasions. His vigilance once
preserved from massacre the inhabitants of the then infant
settlements of the German Flats. His influence brought his tribe to
assist the Americans, in their war of the Revolution. His many
friendly actions in their behalf, gained for him, among the Indian
tribes, the appellation of the ‘White Man’s Friend.’
To a friend who called to see him, in his wane (he was then blind),
he thus expressed himself:
“I am an aged hemlock—the winds of a hundred winters have
whistled through my branches—I am dead at the top. The
generation to which I belonged have run away and left me. Why I
live, the Great Spirit alone knows! Pray to my Jesus that I may have
patience to wait for my appointed time to die.”
‘Indulge my native land; indulge the tear
That steals impassioned o’er the nation’s doom:
To me each twig from Adam’s stock is near,
And sorrows fall upon an Indian’s tomb.’
indian gratitude and wit.

Soon after Litchfield began to be settled by the English, an unknown


Indian came into the inn at dusk, and requested the hostess to
furnish him with food and drink; stating, that he had had no success
in hunting, and could not pay till he had better fortune. The woman
refused; calling him a lazy, drunken, good-for-nothing fellow. A man
who sat by, noticed the Indian as he turned away from the
inhospitable place, and perceiving that he was suffering very
severely from want and weariness, he generously ordered the
hostess to furnish him with a good supper, and call on him for
payment. After the Indian had finished his meal, he thanked his
benefactor again and again, and assured him he should never forget
his kindness, and would, if it were ever in his power, faithfully
recompense it. He observed, that he had one more favor to ask; if
the woman was willing, he wished to tell a story. The hostess, whose
good nature had been restored by money, readily consented. The
Indian, addressing his benefactor, said, “I suppose you read the
Bible?” The man assented. “Well, the Bible says, God make the
world; and then he took him, and looked on him, and say ‘all very
good.’ Then he made light; and took him, and looked on him, and
say, ‘all very good.’ Then he made land and water, sun and moon,
grass and trees; and he took him, and looked on him, and say, ‘all
very good.’ Then he made beasts, and birds, and fishes; and he took
him, and looked on him, and say, ‘all very good.’ Then he made
man; and took him, and looked on him, and say, ‘all very good.’
Then he made woman; and took him, and looked at him, and ——
he no dare say one such word.”
Many years after this, the Indian’s benefactor was taken prisoner by
an Indian scout, and carried into Canada. He was saved from death
by one of the tribe, who asked leave to adopt him in the place of a
son, who had fallen in battle. Through the winter, he experienced
the customary effects of savage hospitality. The following summer as
he was at work in the forest alone, an unknown Indian came to him
and appointed a meeting at a certain place, on a given day. The
prisoner consented; but afterwards, fearing mischief might be
intended, he neglected the engagement. The Indian again sought
him, reproved him for his want of confidence in him, and assured
him the meeting would be for his good. Encouraged by his apparent
friendship, the man followed his directions. He found the Indian
provided with muskets, ammunition, and knapsacks. The Indian
ordered him to arm himself and follow him. Their course was to
wards the south, and day after day the Englishman followed, without
being able to conjecture the motives of his guide. After a tedious
journey, he arrived at the top of an eminence, commanding a view
of a country somewhat cultivated and populous. “Do you know that
country?” said the Indian, with an arch smile. “Oh, yes! it is
Litchfield,” replied the white man, as he cordially pressed his hand.
“Many years ago, you give weary Indian supper there,” said he. “He
promise to pay you, and he pay you now. Go home, and be happy.”
head work.

Colonel Dudley, governor of Massachusetts, in the beginning of the


last century, had a number of workmen employed in building him a
house on his plantation; and one day as he was looking at them, he
observed a stout Indian, who, though the weather was very cold,
was a naked as well as an idle spectator. ‘Hark ye, friend,’ said the
governor, ‘why don’t you work like these men, and get clothes to
cover you?’ ‘And why you no work, governor?’ replied the Indian. ‘I
work,’ answered the governor, putting his finger on his forehead,
‘with my head, and therefore need not work with my hands.’ ‘Well,’
replied the Indian, ‘and if I would work, what have you for me to
do?’ ‘Go kill me a calf,’ said the governor, ‘and I will give you a
shilling.’ The Indian did so. The governor asked him why he did not
skin and dress it. ‘Calf dead, governor—give me my shilling; give me
another,’ said the Indian, ‘and I will skin and dress it.’ This was
complied with. The Indian then went to a tavern with his two
shillings, and soon spending one for rum, returned to the governor,
saying, ‘Your shilling bad, the man no take it.’ The governor believing
him, gave him another; but soon returning in the same manner, with
the second, the governor discerned his roguery; however, he
exchanged that also, reserving his resentment for a proper
opportunity. To be prepared for it, the governor wrote a letter
directed to the keeper of Bridewell, in Boston, requesting him to take
the bearer and give him a sound whipping. This he kept in his
pocket, and in the course of a few days the Indian came again to
stare at the workmen; the governor took no notice of him for some
time, but at length taking the letter out of his pocket, and calling the
Indian to him, said, ‘I will give you half a crown if you will carry this
letter to Boston.’ The Indian closed with his proposal, and set out on
his journey. He had not gone far, before he met with another Indian
in the employ of the governor, to whom he gave the letter, and told
him that the governor had sent him to meet him, and to bid him
return with that letter to Boston, as soon as he possibly could.
The poor fellow carried it with great diligence, and received a severe
flogging for his pains; at the news of which, the governor was not a
little astonished on his return. The other Indian came no more; but,
after the lapse of some months, at a meeting with some of his
nation, the governor saw him there among the rest, and asked him
how he durst serve him such a trick? The Indian looking him full in
the face, and putting his forefinger to his forehead, replied, ‘Head
work! governor, head work!’
magnanimity and disinterested generosity:

with striking traits in the savage character.

The Pawnee Loups (Wolf Pawnees) a tribe of Missouri savages, lately


exhibited the anomaly among the American aborigines of a people
addicted to the superstitious rite of offering human victims, in
propitiation of ‘Venus, the Great Star.’ The inhuman ceremony was
annually performed at the period immediately preceding their
horticultural operations, in order to insure a bountiful return from the
earth:—the neglect of which duty, it was believed, would occasion a
total failure of crops. To obviate, therefore, a national calamity so
formidable, any person was at liberty to offer up a prisoner, of either
sex, whom the fortune of war had placed in his power.
The devoted individual was clad in the gayest attire, pampered with
a profusion of the choicest food, and constantly attended by the
conjurers, alias priests, who anticipated all his wants—cautiously
concealed from him the real object of their sedulous attentions—and
endeavoured to preserve his mind in a state of cheerful composure:
—with the view of promoting obesity, and thus rendering the
sacrifice more acceptable to their Ceres.
When the victim was sufficiently fattened, a day was appointed for
the sacrifice, that all might attend the celebration. In the presence of
the assembled multitude, he was bound to a cross; a solemn dance
was performed; and, after certain ceremonies, the warrior who had
captured him, cleft his head with a tomahawk; and, at the same
moment, numerous arrows were discharged at the body.
It appears, this barbarous rite has lately been abolished. Latelesha,
or Knife Chief, principal of the nation, having long regarded this
sacrifice as cruel and unnecessary, had vainly endeavoured to wean
his countrymen from the observance of it. At length an Iotan
woman, brought captive into the village, was doomed to the Great
Star. Having undergone the necessary treatment, she was bound to
the cross. At this critical juncture, Petalesharoo, son of Latelesha,
stepped forward, and declared, that it was his father’s wish to
abolish a custom so inhuman; that, for his part, he was determined
to release the victim, at the risk of his life. He now cut the cords that
bound her, carried her swiftly through the crowd, and placed her on
a horse; mounted another himself, and conveyed her beyond the
reach of pursuit.
Notwithstanding the success of this enterprise, it was reserved for
another display of the firmness of this young warrior, to abolish the
sanguinary sacrifice—we hope for ever. The succeeding spring, a
Spanish boy was captured, and confided, by the warrior who took
him, to the priests, to undergo the usual preparation for sacrifice.
The Knife Chief consulted with his son how to avoid the repetition of
the horrible rite. “I will rescue the boy,” said Petalesharoo, “as a
warrior ought—by force.” But the father, unwilling that his son should
again expose himself to imminent danger, devised other means for
rescuing the devoted victim:—that is, by ransom. For this purpose he
repaired to a Mr. Pappon, then trading in the village, who generously
contributed a quantity of merchandize. Other contributions were
added by the Knife Chief himself, and by Petalesharoo, and other
Indians. The whole was laid up in a heap, in the Chieftain’s lodge,
and the warrior was summoned to attend.
Latelesha, armed with his war-club, commanded the warrior to
accept of the merchandize, as a ransom for the boy, or prepare for
instant death. The warrior refused to comply: the chief flourished his
club in the air. “Strike!” said Petalesharoo, “I will meet the
vengeance of his friends.” But the more politic Chief preferred
adding to the mass of merchandize a few more articles, in order to
give the warrior another opportunity of complying, without breaking
his word. The expedient succeeded. The goods were reluctantly
accepted; the boy was liberated, and afterwards conducted to St.
Louis by the traders. The merchandize was sacrificed in his place:
the cloth was cut in shreds, and suspended on poles, and many of
the valuables were consumed by fire, to appease and propitiate the
Indian Ceres.
tecumseh, when a youth.

Tecumseh was one of the most remarkable men that has ever
figured in our aboriginal history. He gained an ascendancy over the
minds of his countrymen entirely by the commanding force of his
character, and the persuasive power of his eloquence. These
instruments enabled him to produce a degree of union and
combination among the North-western tribes, by no means less
remarkable than the confederacies which signalized the times of king
Philip and of Pontiac. His brother, the prophet, was a pusillanimous
driveller, compared with Tecumseh; and exerted all his influence by
addressing the superstitious fears of his countrymen; whereas the
great warrior addressed himself to the higher principles of their
nature, and made successful appeals to their reason, and even to
their humanity. Of the last we have a signal example in his arresting
the massacre of the American prisoners at Fort Meigs.
It has somewhere been observed, that “every circumstance relating
to this extraordinary man will be read with interest.” We believe it,
and therefore proceed with the following account, which appeared in
a western periodical of 1826.
“About thirty years ago (as the writer received the narrative from
Captain Thomas Bryan, of Kentucky) the said Bryan was employed
as a surveyor of the Virginia Military Lands, northwest of the Ohio
river. While engaged in completing a chain of surveys, extending
from the head waters of Brush Creek to those of Paint Creek (now
the central part of the State of Ohio), his provisions became scant,
and at length entirely exhausted. He directed his hunter—who had
been unsuccessful on a recent excursion—to make another attempt
to procure subsistence, and to meet him at a particular point then
designated; where, after closing the labour of the day, he should
encamp with his chain-men and marker.
“Towards evening, the men became exhausted with hunger. They
were in the heart of a solitary wilderness, and every circumstance
was calculated to produce the greatest dejection of spirit. After
making great exertions to reach the point designated, where they
were to encamp upon their arrival, they met their hunter, who had
been again unsuccessful. Feeling for himself and his comrades every
emotion of a noble heart, he was alarmed for their situation. The
hunter declared he had used every exertion in pursuit of game, but
all his attempts were of no avail; that the whole forest appeared to
him to be entirety destitute both of birds and beasts! Under these
awful apprehensions of starvation, he knew that it would be a vain
attempt to reach the settlement;—he trembled, and shed tears.
Captain Bryan, at this critical juncture, felt his spirits roused at the
reflection of their desperate situation; he thrust his jacob-staff in the
earth, and ordered his men to prepare a camp, and make a good
fire; he seizes the gun and ammunition of the unsuccessful hunter,
and darted forth in pursuit of game. The weather had become
exceedingly cold, for it was in the depth of winter—every rivulet was
bound in ice. He had not proceeded far before he was gratified with
the cheering sight of three elks, making towards him. He succeeded
in killing two, and, shortly after, a bear. He now called for his men,
and ordered his game to be carried to the camp. No one, but those
similarly situated, can conceive the feelings excited on such an
occasion.
But, perilous as the situation of the surveyor and his party might
appear, there were others who were threatened with the like
appalling distress. Three or four Indians, who had been out on a
hunting excursion, hearing the report of Captain Bryan’s gun, made
immediately in that direction, and had arrived at the camp before
Bryan returned. On his appearance there, they informed him, as well
as they could (some of them speaking a little English), of their
wretched situation. They told him that, for three days, their whole
party had subsisted on one skunk, and that was exhausted. They
described the absence of the game, in the language of the hunter,
as if “the whole forest was entirely destitute both of birds and
beasts.” They were informed by Captain Bryan, that he had plenty
for himself, his men, and themselves; desired them to fix their camp,
make a good fire, and assist his men in flaying the bear and elks,
which were now brought into camp— and then to cut, carve, and
cook for themselves. Their very looks were expressive of the joy
they now felt for a deliverance so unexpected—nor did they spare
the provisions. Their hunger was such, that, as soon as one round
was served, another—another—and another, in succession—was
greedily devoured.
A fine-looking, tall, dignified savage, then approached the surveyor’s
camp—rather young in appearance than otherwise. He very
gracefully stepped up to Captain Bryan (who was now reposing in
his camp, on account of rheumatism, occasioned by his recent
exposure), and informed him, that the old man in his camp was a
Chief; that he felt under great obligations to the Great and Good
Spirit for so signal an interposition in their favour; that he was about
to make a prayer, and address the Good Spirit, and thank him: that
it was the custom, on such occasions, for the Indians to stand up in
their camp; and that his Chief requested the captain and his men, to
conform, in like manner, by standing up in their camp. The captain
replied, that his men would all conform, and order should be
preserved; but, as for himself, his affliction would compel him to
keep his seat—but this must not be construed into disrespect. The
captain remarked to me, that he was not himself a religious
character, though a man of feeling.
“The old Chief raised himself upon his feet, as did those around him;
and, lifting up his hands, commenced his prayer and thanksgiving
with an audible voice. And such an address to Deity, on such an
occasion—as far as I could understand him—I never before heard
flow from mortal lips! The tone—the modulation of his voice—the
gestures—all corresponded to make a very deep impression upon us.
In the course of his thanksgiving—as I gathered from the Indians—
he recapitulated the doleful situation in which they were so recently
placed—the awful horrors of starvation, with which they were
threatened—the vain attempts they had made to procure food, until
He, the Great and Good Spirit, had sent that good White man, and
had crowned his exertions with success; and so directed him and
them to meet, and to find plenty.” Who can fully describe the
abundant overflowings of a grateful heart? He continued in this
vehement strain for about half an hour, “when,” remarked Captain
B., “my own men reflecting on their own recent situation,
retrospecting what had taken place, and beholding the pious
gratitude of a ‘Child of the Forest,’ feeling the same sensations, they
were melted into tenderness—if not into tears.”
The person who so gracefully addressed Captain Bryan, in behalf of
his Chief, was Tecumseh.
indian logic.
6

A few years since, whilst the mistaken zeal of many good men, led
them to think that their red brethren of the forest might be
Christianized before they were civilized,—a missionary was sent out
among them to convert them to the Christian faith. The missionary
was unfortunately one of those preachers who delight in speculative
and abstruse doctrines, and who teach the inefficacy of all human
exertions in obtaining salvation. He called the Indians together to
hear what he called the Gospel. The Sachem or Chief of the tribe to
which he was sent, came with the rest. The missionary in the course
of his sermon, (which was upon the very simple and intelligible
doctrine of election) undertook to prove, that some were made to be
saved, and some to be damned, without any regard to their good or
bad conduct. As an illustration of his doctrine, he cited the case of
Jacob and Esau, and attempted to show that God loved the one and
hated the other before either of them was born. The Sachem heard
him attentively, and after meeting invited him to his wigwam. After
some conversation, the Sachem thus addressed the Missionary: “Sir,
me tell you a story: My wife have two boys, twins; both of them as
pretty as the two you tell me about to-day. One of them she love
and feed him; the other she let lie on the ground crying. I tell her
take him up, or he die. She no mind me. Pretty soon he die. Now
what shall I do to her?”—Why, said the Missionary, she ought to be
hung!—“Well,” said the Sachem, “then you go home and hang your
God, for you say he do just so. You no preach any more here, unless
you preach more good than this.” The Missionary finding himself
amongst a people too enlightened to give credence to his narrow
and heart-revolting principles, thought it expedient to seek a new
field of labor.
the indian and the dutch clergyman.

A Dutch clergyman in the then province of New York, 1745, asked an


Indian, whom he had baptized, whether he had been in Shekomeko,
and had heard the Moravian missionary preach, and how he liked
him? The Indian answered, ‘That he had been there, and had
attended to the missionary’s words, and liked to hear them; that he
would rather hear the missionary than him, for when the former
spoke, it was as though his words laid hold of his heart, and a voice
within said, ‘that is truth;’ but that he was always playing about the
truth, and never came to the point. That he had no love for their
souls, for when he had once baptized them, he let them run wild,
never troubling himself any further about them. That he acted much
worse than one who planted Indian corn; for, added he, ‘the planter
sometimes goes to see whether his corn grows or not.’
“indian, who is your captain?”

An English captain, in the year 1759, who was beating up for


recruits in the neighbourhood of Bethlehem, met one day a Moravian
Indian, and asked him whether ‘he had a mind to be a soldier.’ ‘No,’
answered he, ‘I am already engaged.’ ‘Who is your captain?’ asked
the officer. ‘I have a very brave and excellent captain,’ replied the
Indian, ‘his name is Jesus Christ; Him will I serve as long as I live:
my life is at his disposal;’ upon which the British officer suffered him
to pass unmolested.
indian bon mot.

One of the Moravian Indians who had been baptized by the name of
Jonathan, meeting some white people, who had entered into so
violent a dispute about baptism and the holy communion, that they
at last proceeded to blows—‘These people,’ said he, ‘know nothing of
our Saviour; for they speak of Him as we do of a strange country.’
indian fidelity.

Some time after the commencement of the Revolutionary war, when


the northern Indians were beginning to make inroads on the people
living on the east side of the Ohio river, General O’Hara having come
out to the upper Moravian town, on the Muskingum, on business,
and there taken lodging with a respectable and decent family of
Indians in the village—I had one evening scarcely laid down to sleep
when I was suddenly roused from my bed by an Indian runner, (or
messenger) who in the night had been sent to me, 9 miles, with the
following verbal message: “My friend, see that our friend O’Hara,
now at your town, be immediately taken off to the settlement of
white people, avoiding all paths leading to that river. Fail not in
taking my advice, for there is no time to lose—and hear my son
further on the subject.”
The fact was, that eleven warriors from Sandusky, were far
advanced on their way to take or murder O’Hara; who at break of
day would be at this place for the purpose. I immediately sent for
this gentleman, and told him that I would furnish him with a
conductor, on whom he might depend, and having sent for Anthony,
(otherwise called Luke Holland) informed him of the circumstance
and requested his services; he (the Indian) wished first to know,
whether my friend placed confidence in him, and trusted to his
fidelity; which question being answered by O’Hara himself, and to his
full satisfaction; he replied, ‘well, our lives cannot be separated! we
must stand or fall together! but take courage, for no enemy shall
discover us!’
The Indian then took Mr. O’Hara through the woods, and arriving
within a short distance of the Ohio river, pointed out to him a hiding
place, until he, by strolling up and down the river, should discover
white people on the opposite shore; when finally observing a house
where two white men were cleaning out a canoe for use, he hurried
back to bring on his friend, who, when near the spot, advised his
Indian conductor to hide himself, knowing those people to be bad
men, he feared they might kill him, for his services. The Indian
finally seeing his friend safe across the river, returned and made
report thereof.
The young Indian, who had been the bearer of the message from
his father to me, had immediately returned on seeing O’Hara off, in
order to play a further deception on the war party, for the purpose of
preventing them even from going to our town, fearing, that if there,
and not finding their object, they might probably hunt for his track,
and finding this, pursue him. He indeed effected his purpose so
completely, that while they were looking for him in one direction, his
conductor was taking him off in another.
The father of the young lad, who was the principal cause that
O’Hara’s life had been saved, had long been admired by all who
knew him for his philanthropy; on account of which the traders had
given him the name of “the gentleman.” Otherwise this Indian was
not in connection with the Christian Indian Society, though a friend
to them. He lived with his family retired and in a decent manner.
While I feel a delight in offering to the relatives and friends of the
deceased, as also to the public, this true and faithful picture of
Indian fidelity—I regret that, on necessarily having had to recur to
the names ‘Anthony’ and ‘Luke Holland,’ I am drawn from scenes of
pleasure, to crimes of the blackest hue. The very Indian just named,
who at that time joyfully reported to me his having conducted his
friend out of danger, to a place of safety, some years after
approached me with the doleful news that every one of his children,
(all minors) together with his hoary headed parents, had been
murdered by the white people, at Gradenhutten, on the Muskingum.
John Heckelwelder.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

testbankdeal.com

You might also like