CIS110-Distributed and Parallel Computing Technologies
- Features of modern programming languages used in parallel programming
The following are the features which can be used in the for the case of parallel programming;
Simplicity – it enumerates the language which is used for programming must be clear and simple in all aspects which would pave way for understand and maintain in an easier way. The simplicity could be maintained as it is a learning and application and it also ensured that there cannot be any compromises in its functions.
Naturalness –when the language is used it could be of more natural with respect to the area for which it has designed. It should use wisely about the operators, structures and syntax in anefficient manner.
Abstraction –it states that the objective of using complicated structures or operations even when some of the details are excluded which could create impact in the case of writing.
Efficiency –it should be maintained well when it is translated and executed and instigates that it could not take much of the memory space and time.
Structuring –there should be of proper structuring in this programming when writing codes according to the structured programming concepts to avoid any errors.
Compactness – this feature enable to express the operations concisely which does not requires to write many details.
- Problems in the program and solution
The class thread is used in the programming of the website and it can be considered as the sequence of instruction which could be executed concurrently with the other sequences in case of multithreading environments, when tit is bound to sharing same address space. The thread object which is initialized is represented as an active thread of execution.
However the program also makes use of function lock in it which could possibly locks all the objects which has been passed as arguments, blocking the calling thread if necessary. The function locks the objects using an unspecified sequence of calls to their members. Henceforth, it is noted that there is some problem which has been aroused in the system which makes the user interface unresponsive.
It is must to resolve this issue as it could have locked certain necessary things which could be useful in running the interface successfully. It could be avoided when the program is rewritten which is causing this problem. It is certain that the use of function lock would have impact on the program.
It could be resolved by mean of unlocking the function using the necessary functions. Hence the unlock function is used in the thread which could ensures all the arguments which has been locked on return.The use of unlock will be releasing the ownership over any functions which is used for the user interface. By means of rewriting the program with the unlock function, the problem will be rectified without leading to any consequences in the future.
However, this change would make the user interface to free from unresponsive and also it functions properly.
- Proposal of Cloud native solution
As per the case, it is noted that there was found to have certain limits in case of using the Amazon elastic Kubernetes service instance. It is stated that there should be a solution which could resolve the pertaining issue when the content management system is reaching its limits. Hence it is proposed to use micro services architecture as the cloud naive solutionfor the system.
The use of micro services would possibly increase the scalability of the services which is processed in the system.Hence, the system would make use of micro services architecture solution in order to avoid complete shut down in the future.One such microservcies solution is citrix cloud naïve solution which facilitates cloud native approach to the system with which it will be integrated.
The citrix naïve cloud solution will improve the benefits of existing kubernetes instances in the current content management system. It is proposed to integrate the citrix cloud naïve solution which is based on the microservices architecture will help in improving the issues related to the limits and it would not make the system to shut down in future.
- cloud native solution
Citrix cloud naïve solution will be of great help in addressing the challenges which is encountered in Kubernetesenvironment.It could be used to leverage the advanced traffic management, observability and comprehensive security features which will be enhancing the reliability and security.It can be useful in obtaining the complete visibility with respect to the application traffic in the Kubernetes environment.
Fig: Citrix cloud architecture
Citrix cloud is a workspace management platform which helps in case of design, delivering and managing the virtual desktops and applications and also other services associated with it. Those who use this cloud would be able to deploy and manage workloads from public cloud, private cloud, on premises hardware and sometimes it can be used by means of combing those there aspects.
The citrix cloud connector which would tie the platform into Microsoft active directory and enables to configure which users can access which applications and data based on their specific locations. Citrix cloud offers the following services like virtual apps and desktops, endpoint management, gateway, application delivery management, Web appfirewall, ADC VPX, content collaboration, access control, analytics, app layering, intelligent traffic management, secure browser and workspace environment management.
The citrix virtual apps and desktops architecture is divided into several layers. All the layers flow together to create a complete, end-to-end solution for an organization. The layers found in this architecture is user layer, access layer, resource layer, control layer, platform layer and operations layer.The resource location of citrix cloud is making use of certain resources and it is depended on which citrix cloud service is used by the customer.
The resources are as active directory domains, citrix ADC appliances, hypervisors, virtual delivery agents, storefront servers and citrix cloud connectors.The cloud connector is an essential component and it serves as a channel for communication between the Citrix cloud and resource locations. Active directory is used for the authentication and authorization with the citrix cloud.
Virtual delivery agent (VDA) is either a physical machine or virtual one which delivers applications and desktops to users and the VDA manages the connection between the user and machine. The delivery controller is a central control layer which would be managed by the citrix on citrix cloud. Storefront is an interface for users to access the virtual apps and desktops from anywhere with multiple devices.