C# visual studio (Windows form)

profileGarrysandhu
Allocation_project.zip

Assessment Task 2 (2).pdf

Page 1 of 4

SIT323 Practical Software Development, Trimester 2, 2019

Assessment Task 2

Summary

You need to create some software to help determine a set of allocations of tasks to processors. This set of allocations must be displayed on your GUI. These allocations are based on data from within a configuration file.

Your software will use the following configuration files stored on an Azure blob. • https://sit323sa.blob.core.windows.net/at2/TestA.txt • https://sit323sa.blob.core.windows.net/at2/TestB.txt • https://sit323sa.blob.core.windows.net/at2/TestC.txt

The ideal goal is to find an allocation that:

1. consumes a minimum amount of energy and 2. its overall runtime does not exceed the program duration

There might be one or more allocations that meet these constraints. Also, there might be no allocation that meets these constraints because the program duration is too small for all combinations of task allocations.

C#

Your GUI client software will directly read a configuration file that are stored on Azure. That is, your software must open the file using its URL. Do not download these configuration files.

You will design and implement WCF Services to compute a set of allocations based on the imported configuration data.

As your software might not be able to find the ideal allocation within several years, it must attempt to obtain a set of allocations that have the smallest energy consumption that you can find within 5 minutes. That is, after 5 minutes, your software must:

• stop searching for other allocations • display the low energy consuming allocations that your program found • display the runtimes and amount of energy consumed next to each allocation

Each WCF Service will remotely run on an AWS virtual machine. This service will be indirectly invoked by your client software. The client software will provide/pass configuration data to this service, and this service will return a set of allocations.

In order to use more compute resources (AWS VMs) to determine a set of allocations, you will deploy several AWS virtual machines, a load balancer, and other AWS resources. Each of these VMs will have your WCF Service installed, i.e., there will be a set of similar WCF Services.

Your software can send several asynchronous requests to the set of WCF Services. It will receive responses from the WCF Services. Each response will contain a set of allocations. For example:

Page 2 of 4

• WCF Service 1 returns a set of 8 allocations, where each allocation consumes 100. • WCF Service 2 returns a set of 4 allocations, where each allocation consumes 150. • WCF Service 3 returns a set of 12 allocations, where each allocation consumes 90. • WCF Service 4 returns a set of 5 allocations, where each allocation consumes 123.

Your software needs to determine which response contains allocations that consume the minimum amount of energy. For example, the set of 12 allocations (in the above list) consume a minimum amount of energy.

Your software will display the set of allocations on your GUI client, including runtime and energy consumed for each allocation.

AWS Cloud Architecture (C#)

The cloud architecture that you will implement is depicted in Figure 1. Client requests will be directly sent to the application load balancer which will forward each request to one of the web servers on a VM.

You can have more than one kind of WCF Service. For example, one WCF Service computes an allocation based on a particular algorithm, the second WCF Service computes an allocation based on another kind of algorithm.

Figure 1.

Page 3 of 4

Excel (for students enrolled in the old Cloud Computing major)

Your Excel software will directly import a configuration file that are stored on Azure. That is, your software must open the file using its URL. Do not download these configuration files. The following menu item will be useful to import data from a web page:

Data > Get External Data > From Web

You will design and implement one or more techniques to determine a set of allocations based on the imported configuration data. This can be a mixture of manual and automation techniques.

As your (manual or automatic) techniques might not be able to find the ideal allocation within several years, it must attempt to obtain a set of allocations that have the smallest energy consumption that you can find within 5 minutes. That is, after 5 minutes, you must:

• stop searching for other allocations • display the low energy consuming allocations that your program found • display the runtimes and amount of energy consumed next to each allocation

Your software will display this set of allocations on a worksheet, including runtime and energy consumed for each allocation.

AWS Cloud Architecture (Excel)

The cloud architecture that you will implement is depicted in Figure 2. Client requests will be directly sent to the application load balancer which will forward each request to one of the web servers on a VM.

Responses will be based on static web pages containing the set of allocations that you produced in Excel. That is,

1. you need to produce your allocation(s) in Excel 2. create a HTML page(s) containing allocations, run times, and energy values 3. upload web pages to your web servers

Page 4 of 4

Figure 2.

__MACOSX/._Assessment Task 2 (2).pdf

Assessment Task 2 Submission - C#.pdf

SIT323 Practical Software Development, Trimester 2, 2019

Assessment Task 2 – C# Submission Instructions

Page 1 of 2

1. What not to submit

Do not submit any exe files because sometimes these are considered as viruses by antivirus software. On occasions downloading student ZIP files from CloudDeakin fails because they contained exe files.

Prior to submission, please delete ‘bin’ and ‘obj’ folders that are in your GUI project folder (see Figure 1). These folders will contain exe files, and any exe files required by the marker can be rebuilt using Visual Studio.

Figure 1.

2. Submission

Each student will submit one ZIP file containing:

1. A Visual Studio solution and project folders and files 2. One video file such as “AWS Cloud System.mp4“

Hopefully you already have everything in one folder (see Figure 2); if not, please arrange something similar. Figure 2 shows:

• Three folders for the WCF Services such as “ALG1”, “ALG2” and “ALG3”. • One folder for your GUI Project such as “Application Task 2”. • One folder, if required, for your DLL Project such as “SharedClasses”. • One file such as “Assessment Task 2.sln” for your Visual Studio solution. • One video file such as “AWS Cloud System.mp4“.

SIT323 Practical Software Development, Trimester 2, 2019

Assessment Task 2 – C# Submission Instructions

Page 2 of 2

Figure 2.

Once everything is in one folder such as “C:\temp\SIT323\2019\AT2 C#”, you can ZIP that folder to create a file such as “AT2 C#.zip”.

Please test your ZIP file “AT2 C#.zip” before submission. That is, after unzipping to a new folder, ensure that everything works as it should; try this on another machine and hard- drive too.

Submit your ZIP file to the SIT323 unit site in Cloud Deakin.

__MACOSX/._Assessment Task 2 Submission - C#.pdf

Assessment Task 2 Rubric (1).pdf

SIT323 ‐ Assessment Task 2 ‐ Rubric Mark ULO CODING Unsuccessful (0) Successful (4)

1 Obtaining URLs from the user via the  application.

failed, or URLs hardcoded URLs obtained from user  input.

4 ULO3

2 Importing remote configuration files  that are on Azure.

failed, local files used, or  downloaded files used

Remote files imported. 4 ULO3

3 Layout Code (or worksheet) layout  is unaccetpable.

Code (or worksheet) layout  is accetpable.

4 ULO3

OPTIMISATION Unsuccessful (0) Poor (3) Good (6) Very Good (10) 4 Using "TestA.txt", a set of allocations,  associated runtimes and energy  consumptions, are determined and  displayed

nothing displayed within 5  minutes or allocations are  invalid

1 valid allocation found,  and the minimum energy  consumption is < 500

1 valid allocation found,  and the  minimum energy  consumption is < 442

2 or more valid allocations  found, and each minimum  energy consumption is <  442

10 ULO2

5 Using "TestB.txt", a set of allocations,  associated runtimes and energy  consumptions, are determined and  displayed

nothing displayed within 5  minutes or allocations are  invalid

1 valid allocation found,  and the minimum energy  consumption is < 4000

1 valid allocation found,  and the minimum energy  consumption is < 3960

1 valid allocation found,  and the minimum energy  consumption is < 3940

10 ULO2

6 Using "TestC.txt", a set of allocations,  associated runtimes and energy  consumptions, are determined and  displayed

nothing displayed within 5  minutes or allocations are  invalid

1 valid allocation found,  and the  minimum energy  consumption is < 1000

1 valid allocation found,  and the  minimum energy  consumption is < 960

1 valid allocation found,  and the minimum energy  consumption is < 958

10 ULO2

Video ‐ AWS Educate Account Unsuccessful (0) Successful (1) 7 Student ID and name confirmed. Student did not introduce 

them self by name OR did  not show their ID card.

Student introduced them  self by name and showed  their ID card.

1 ULO4

8 Student confirmed their AWS Educate  account name.

Student did not confirm  their AWS Educate account  name.

Student introduced them  self by name and displayed  their AWS Educate account  name (top right corner).

1 ULO4

9 Student confirmed that are using the  North Virginian region.

Student did not confirm  that they are using the N  Virginian region.

Student displayed that they  are using the N Virginian  region (top right corner).

1 ULO4

Video ‐ AWS Resources Unsuccessful (0) Poor (1) Good (2) Very Good (3) 10 VM instances (ay least 2 per 

application). VM instances were not  presented.

VM instances for 1  appliaciton are presented.

VM instances for 2  applications are presented.

VM instances for 3 or more  applications are presented.

3 ULO4

11 AMIs (one per application). AMIs were not presented. 1 AMI presented. 2 AMIs presented. 3 or more AMIs presented. 3 ULO4

12 Snapshots. Snapshots were not  presented.

1 snapshot presented. 2 snapshots presented. 3 or more snapshots  presented.

3 ULO4

13 Security Groups. Security group was not  presented.

1 Security Group allowing  TCP for ports 80 and  remote login was  presented.

2 Security Groups allowing  TCP for ports 80 and  remote login was  presented.

3 or more Security Groups  allowing TCP for ports 80  and remote login was  presented.

3 ULO4

14 Kay Pair. Key pair was not presented. 1 Key Pair presented. 1 pem file presented. 1 Key Pair and associated  pem file presented.

3 ULO4

15 Application Load Balancer. Load balancer was not  presented.

1 Load Balancer presented. 2 Target Groups were  utilised by the Load  Balancer.

3 or more Target Groups  were utilised by the Load  Balancer.

3 ULO4

16 Target Groups (one per applciation). Target groups were not  presented.

1 Target Group and  associated web servers  presented.

2 Target Groups and  associated web servers  presented.

3 or more Target Groups  and associated web servers  presented.

3 ULO4

Video ‐ AWS Web Servers and  Load Balancer Unsuccessful (0) Poor (2) Good (4) Very Good (6)

17 Demonstrate that your load balancer is  correctly forwarding requests to web  servers of each target group.

No HTTP response is  returned by a web server.

It is clearly indicated that  HTTP requests are  forwarded by the load  balancer, and HTTP  responses are returned by  just one web server of just  one target group.

It is clearly indicated that  HTTP requests are  forwarded by the load  balancer, and HTTP  responses are returned by  each web server of just one  target group.

It is clearly indicated that  HTTP requests are  forwarded by the load  balancer, and HTTP  responses are returned by  each web server of each  target group.

6 ULO4

1 of 1

__MACOSX/._Assessment Task 2 Rubric (1).pdf