close
test_template

Report on Papa: a Parallel Programming Assistant Powered by IBM

Human-Written
download print

About this sample

About this sample

close
Human-Written

Words: 1503 |

Pages: 3|

8 min read

Published: Apr 2, 2020

Words: 1503|Pages: 3|8 min read

Published: Apr 2, 2020

Table of contents

  1. Introduction
  2. What is Parallel Computing?
  3. Design
  4. Evaluation
  5. Conclusion

While modern parallel computing systems provide high performance resources, utilizing them to the highest extent requires advanced programming expertise. Programming for parallel computing systems is much more difficult than programming for sequential systems. OpenMP is an extension of C++ programming language that enables to express parallelism using compiler directives. While OpenMP alleviates parallel programming by reducing the lines of code that the programmer needs to write, deciding how and when to use these compiler directives is up to the programmer. Cognitive computing has shown impressive results in various domains, such as health or marketing. In this paper, we describe the use of IBM Watson cognitive system for education of novice parallel programmers. Using the dialogue service of the IBM Watson we have developed a solution that assists the programmer in avoiding common OpenMP mistakes. To evaluate the approach we have conducted a survey with a number of novice parallel programmers at the Linnaeus University, and obtained encouraging results with respect to usefulness of the approach.

Introduction

The modern parallel computing systems provide capabilities to solve complex computational and engineering problems faster. Programming for parallel computing systems is much more complex than programming for sequential processors, because it requires knowledge of the underlying parallel architecture and the programming models libraries (that are often device specific), and consideration of large amount of device specific configuration parameters (such as, numbers of cores, core speed, memory hierarchy level, cache, run-time system, etc. ).

What is Parallel Computing?

In the simplest sense, parallel computing is the simultaneous use of multiple compute resources to solve a computational problem:

  • A problem is broken into discrete parts that can be solved concurrently
  • Each part is further broken down to a series of instructions
  • Instructions from each part execute simultaneously on different processors
  • An overall control/coordination mechanism is employed.
  • The computational problem should be able to:

  • Be broken apart into discrete pieces of work that can be solved simultaneously;
  • Execute multiple program instructions at any moment in time;
  • Be solved in less time with multiple compute resources than with a single compute resource.

Cognitive systems are on the verge of becoming a milestone due to their ability to process natural language processing (NLP). This enables a whole new level of interaction between humans and computing systems, which may help people make better decisions. IBM Watson is a cognitive system that uses the natural language to receive and answer questions.

Researchers have developed an application based on the IBM Watson services that enables a dialog-based interaction with programmers during program development for parallel programming.

Design

Our application is based on the IBM Watson Dialog service to provide communication means between the user and the system through natural language processing with the aim to avoid common OpenMP (Open Multi-Processing) mistakes. OpenMP (Open Multi-Processing) is an Application Program Interface (API) that comprises a set of compiler directives, variables and library functions to program parallel computing systems. OpenMP is implemented as language extension of C, C++ and Fortran for shared-memory parallel computing systems, and recent versions of OpenMP support also the heterogeneous computing systems. The users interact with our application using an interface, which allows them to write questions in text form. The user that will presumably be a parallel programmer will use the interface to ask a question related to parallel programming. The interface sends the user input to our application, which is connected to the Watson Dialog Service. The dialog service analyzes the questions and gathers information that it needs to provide the most suitable answer for the user. To extend the functionality of our application, one can connect the application to additional services such as speech-to-text services. The application is connected to a back-end system that is responsible to display the answer of the question to the user. At this point, the application has the answer for the user. There are two scenarios, (1) the question has been understood and application provides a proper answer to the user, and (2) the question has not been understood and a default message saying “I am sorry; I did not understand your question. Please try another question. ” is provided to the user.

The dialog service provides means for communication between computers and the users in a question-and-answer fashion through natural language. To use this service, first the training data should be gathered and prepared by an expert. The gathered data should be translated into dialog models that are part of the dialog flow design process. For instance, the common OpenMP mistake where programmers redefine the number of threads within a parallel loop, will be translated in a dialog fashion where the input would be like: Can I change a variable inside a pragma omp loop? The push live to users enables the connection of the dialog service with the user interface, and monitoring the conversations. The last component enables dynamic learning from real interactions by adjusting the existing content and adding new one based on the user activity.

Evaluation

To evaluate the usefulness of our approach IBM conducted an anonymous survey within the Linnaeus University campus. The aim of this survey is to investigate whether such interactive tools would help novice programmers solve parallel programming problems as well as identify ways to improve our tool. To measure the performance quality of our tool we have used the Likert scale system to allow respondents to rank the quality of our tool, where participants could choose answers between one and 5 stars, where One star stands for Strongly disagree, Two stars stands for Somewhat disagree, Three stars means Neither agree nor disagree, Four stars means Somewhat agree, and Five stars stands for Strongly agree. The results of the survey are depicted in the figure. The x-axis indicates the stars, whereas the y-axis indicates the collected points such that if question 4 received 3 points for 5 stars it means that 3 participants strongly agreed that it would be useful to enhance our tool with the ability to retrieve papers as an answer. We may observe that most of the questions received more than three stars. For instance, when asked whether our tool is more helpful than using search engines or paper-based resources, 3 participants neither agreed nor disagreed, three other participants agreed to some extent, and four of them strongly agreed. When asked whether the answers retrieved from our tool were accurate, one of the participants disagreed to some extent, two participant were neutral, two participants agreed to some extent, and three of them strongly agreed. Six of the participants strongly agreed, one agreed to some extent and another one disagreed to some extent that our tool is useful because it can respond to questions asked in different languages. Two participants disagreed to some extent and two others agreed to some extent, another one was neutral, and three others strongly agreed that enhancing our tool with the ability to retrieve paper as an answer would be useful.

The results show that the application would be successful among students as they would like to have an application that can help them in parallel programming by using natural language. In the first question 87. 5% of the total score corresponds to 4 stars or more, which means that the respondents highly agree with the usefulness of the application. In the second question 62. 5% of the total score corresponds to 4 stars or more, which means that the respondents highly agree with the usefulness of the application. In the third question 87. 5% of the total participants appreciated having multi-language support in this application. In the last question, 62. 5% of the users think that enhancing our tool with the ability to retrieve papers as answers is useful.

Get a custom paper now from our expert writers.

Conclusion

Cognitive systems, like IBM Watson, are able to learn through user’s input and be taught by experts. An application that uses this technology can become a milestone in the field in which it is being used due to the fact that a community can be created to improve applications, share new ideas and discover features that no one has thought of before. The usefulness of such systems has been demonstrated in various fields, such as in health care, where doctors can treat their patients better owing to previous experiences with common diseases. Researchers have used the IBM Watson dialog service to enable the interaction between the user and the system in a dialog-fashion way using natural language. Our application is trained to respond to questions related to common mistakes that novice programmers do when using OpenMP, which helps them avoid such mistakes, write code that produces the correct result and runs faster. Furthermore, such systems may reduce the time investment required to learn parallel programming. Since Watson can learn from the users collected input, the application can be improved as it is used. The proposed tool can answer questions that a user may ask, but it will neither generate code nor find code errors. Future research will address the extension of our solution with additional IBM Watson services that enable automatic input of data from existing sources of parallel programming knowledge.

Image of Prof. Linda Burke
This essay was reviewed by
Prof. Linda Burke

Cite this Essay

Report On PAPA: A Parallel Programming Assistant Powered By IBM. (2020, April 02). GradesFixer. Retrieved November 12, 2024, from https://gradesfixer.com/free-essay-examples/report-on-papa-a-parallel-programming-assistant-powered-by-ibm/
“Report On PAPA: A Parallel Programming Assistant Powered By IBM.” GradesFixer, 02 Apr. 2020, gradesfixer.com/free-essay-examples/report-on-papa-a-parallel-programming-assistant-powered-by-ibm/
Report On PAPA: A Parallel Programming Assistant Powered By IBM. [online]. Available at: <https://gradesfixer.com/free-essay-examples/report-on-papa-a-parallel-programming-assistant-powered-by-ibm/> [Accessed 12 Nov. 2024].
Report On PAPA: A Parallel Programming Assistant Powered By IBM [Internet]. GradesFixer. 2020 Apr 02 [cited 2024 Nov 12]. Available from: https://gradesfixer.com/free-essay-examples/report-on-papa-a-parallel-programming-assistant-powered-by-ibm/
copy
Keep in mind: This sample was shared by another student.
  • 450+ experts on 30 subjects ready to help
  • Custom essay delivered in as few as 3 hours
Write my essay

Still can’t find what you need?

Browse our vast selection of original essay samples, each expertly formatted and styled

close

Where do you want us to send this sample?

    By clicking “Continue”, you agree to our terms of service and privacy policy.

    close

    Be careful. This essay is not unique

    This essay was donated by a student and is likely to have been used and submitted before

    Download this Sample

    Free samples may contain mistakes and not unique parts

    close

    Sorry, we could not paraphrase this essay. Our professional writers can rewrite it and get you a unique paper.

    close

    Thanks!

    Please check your inbox.

    We can write you a custom essay that will follow your exact instructions and meet the deadlines. Let's fix your grades together!

    clock-banner-side

    Get Your
    Personalized Essay in 3 Hours or Less!

    exit-popup-close
    We can help you get a better grade and deliver your task on time!
    • Instructions Followed To The Letter
    • Deadlines Met At Every Stage
    • Unique And Plagiarism Free
    Order your paper now