• Title/Summary/Keyword: 함수언어

Search Result 367, Processing Time 0.025 seconds

Tuning the Performance of Haskell Parallel Programs Using GC-Tune (GC-Tune을 이용한 Haskell 병렬 프로그램의 성능 조정)

  • Kim, Hwamok;An, Hyungjun;Byun, Sugwoo;Woo, Gyun
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.8
    • /
    • pp.459-465
    • /
    • 2017
  • Although the performance of computer hardware is increasing due to the development of manycore technologies, software lacking a proportional increase in throughput. Functional languages can be a viable alternative to improve the performance of parallel programs since such languages have an inherent parallelism in evaluating pure expressions without side-effects. Specifically, Haskell is notably popular for parallel programming because it provides easy-to-use parallel constructs based on monads. However, the scalability of parallel programs in Haskell tends to fluctuate as the number of cores increases, and the garbage collector is suspected to be the source of this fluctuations because it affects both the space and the time needed to execute the programs. This paper uses the tuning tool, GC-Tune, to improve the scalability of the performance. Our experiment was conducted with a parallel plagiarism detection program, and the scalability improved. Specifically, the fluctuation range of the speedup was narrowed down by 39% compared to the original execution of the program without any tuning.

Design and Implementation of a Distributed Object Programming Language supporting Peer Replicated Object Model (대등관계 복제객체 모델을 지원하는 분산 객체 프로그래밍 언어의 설계 및 구현)

  • Sin, Beom-Ju;Lee, Dong-Hyeon
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.5 no.4
    • /
    • pp.449-456
    • /
    • 1999
  • 본 논문은 C++에 분산 객체 프로그래밍 기능을 추가한 D++ 언어를 제안한다. 대등관계 복제객체 모델을 지원하는 D++는 분산 클래스의 정의, 멤버 함수의 일치성 제어 정의 기능, 그리고 영구 객체 이름에 기반한 분산 객체를 정의할 수 있는 언어 구조를 제공한다. D++ 프로그램에서 새로이 생성되는 분산 객체는 생성 시에 제공되는 객체의 영구 이름과 동일한 영구 이름을 갖는 분산 객체가 존재할 경우 해당 객체들과 복제 관계를 유지함으로써 정보를 공유한다. 각 복제 객체들은 서로 간에 대등한 관계를 가지며, 멤버 함수 정의 시에 기술되는 특성에 따라 일치성이 유지된다. 이 같은 D++의 분산 객체 모델은 실시간 그룹웨어의 기본 요구 사항인 분산 환경에서의 정보 공유 및 사건 공지 기능을 자연스럽게 해결해 주기 때문에 실시간 그룹웨어의 개발을 효율적으로 지원할 수 있을 것으로 기대한다. Abstract This paper proposes D++ programming language that is an extension of C++ for distributed object oriented programming. The D++, which supports peer-to-peer object model, provides new language constructs for the definition of distributed classes, the definition of the consistency control of the member function and the definition of distributed object variables with the persistent name. In D++, when the persistent name of a newly created distributed object is same as that of an existing distributed object, the new distributed object replicates object state of the existing distributed object and thus they share the object state. The replicas have peer relation and the consistency among them is maintained according to the characteristic described on the definition of designated member functions. It is expected that D++ language increases efficiency in development of real-time groupware because the distributed object model of D++ naturally supports the information sharing and event notification that are the basic functions required when building real-time groupware.

Design and Implementation of a Translator for Translating Java Bytecode into MSIL (자바 Bytecode 에서 MSIL 로의 변환을 위한 번역기의 설계 및 구현)

  • Min, Jung-Hyun;Oh, Se-Man
    • Annual Conference of KIPS
    • /
    • 2001.04b
    • /
    • pp.743-746
    • /
    • 2001
  • 자바는 객체지향 언어이고, 한번 작성된 프로그램은 자바 가상 기계가 있는 모든 곳에서 수정없이 실행될 수 있기 때문에 소프트웨어의 개발과 유지 보수에 많은 장점을 가진 언어이다. 이러한 특징으로 인하여 개발되는 제품들이 자바로 구현되는 경우가 많다. 그러나 아직 대다수 소프트웨어 개발자들은 주로 C 언어나 C++ 언어를 사용하고 있으며, 최근에는 C#이라는 언어를 사용하고 있다. 자바가 플랫폼에 독립적인 장점은 가지고 있지만, 다수의 개발자 및 사용자가 마이크로소프트 윈도우 운영체제를 사용하고 있다는 것을 감안한다면 그리 탁월한 장점만은 될 수 없다. 또한, 최근의 개발동향이 COM(Component Object Model)을 지향하고 있고, 이는 더 이상 개발자들에게 프로그래밍 언어에 구애를 받지 않고 오직 개발 제품에 대한 집중력을 가질 수 있는 환경을 제공할 수 있다면, 그 개발 효율에 있어서 상당한 이점을 가질 수 있다는 의미이다. 따라서, COL(Component Object Language)을 기반으로 하고 있는 C# (C sharp)언어를 사용하여 개발을 함에 있어서 자바의 언어를 C# 언어로 변환할 수 있다면, 신생 언어인 C#에 있어서 기존 자바로 되어 있는 유용한 개발 제품들을 보다 효율적으로 이용할 수 있을 것이다. 본 논문에서는 두 언어(자바, C#)를 하나로 잇는 교량(bridge)역할을 할 수 있도록 자바의 중간 언어인 Bytecode를 C#의 중간 언어인 MSIL(Microsoft Intermediate Language)로 바꿀 수 있는 중간 언어 번역기를 설계하고 구현하였다. 이를 위한 방법으로는 먼저, 자바 Bytecode 와 MSIL 의 어셈블리 형태에서의 명령어 매칭과정을 매핑 테이블을 이용하여 처리하였고, MSIL 에서 자바 Bytecode 의 함수와 같은 기능을 하는 메소드의 변환을 위하여 마크로 변환기법을 이용하여 해결하였다.I/O ratio 2.5). BTEX의 상대적 함량도 실내가 실외보다 높아 실내에도 발생원이 있음을 암시하고 있다. 자료 분석결과 유치원 실내의 벤젠은 실외로부터 유입되고 있었고, 톨루엔, 에틸벤젠, 크실렌은 실외뿐 아니라 실내에서도 발생하고 있었다. 정량한 8개 화합물 각각과 총 휘발성 유기화합물의 스피어만 상관계수는 벤젠을 제외하고는 모두 유의하였다. 이중 톨루엔과 크실렌은 총 휘발성 유기화합물과 좋은 상관성 (톨루엔 0.76, 크실렌, 0.87)을 나타내었다. 이 연구는 톨루엔과 크실렌이 총 휘발성 유기화합물의 좋은 지표를 사용될 있고, 톨루엔, 에틸벤젠, 크실렌 등 많은 휘발성 유기화합물의 발생원은 실외뿐 아니라 실내에도 있음을 나타내고 있다.>10)의 $[^{18}F]F_2$를 얻었다. 결론: $^{18}O(p,n)^{18}F$ 핵반응을 이용하여 친전자성 방사성동위원소 $[^{18}F]F_2$를 생산하였다. 표적 챔버는 알루미늄으로 제작하였으며 본 연구에서 연구된 $[^{18}F]F_2$가스는 친핵성 치환반응으로 방사성동위원소를 도입하기 어려운 다양한 방사성의 약품개발에 유용하게 이용될 수 있을 것이다.었으나 움직임 보정 후 영상을 이용하여 비교한 경우, 결합능 변화가 선조체 영역에서 국한되어 나타나며 그 유의성이 움직임 보정 전에 비하여 낮음을 알 수 있었다. 결론: 뇌활성화 과제 수행시에 동반되는 피험자의 머리 움직임에 의하여 도파민 유리가 과대평가되었으며 이는 이 연구에서 제안한 영상정합을 이용한 움직임 보정기법에 의해서 개선되었다. 답이 없는 문제, 문제 만들기, 일반화가 가능한 문제 등으로 보고, 수학적 창의성 중 특히 확산적 사고에 초점을 맞추어 개방형 문제가 확산적 사고의 요소인 유창성, 독창성, 유연성 등에 각각 어떤 영향을 미치는지 20주의 프로그램을 개발, 진행하여 그 효과를

  • PDF

A Dynamic Kernel Update System with a Function Granularity for Linux (리눅스 환경에서의 함수 단위 동적 커널 업데이트 시스템의 설계와 구현)

  • Park, Hyun-Chan;Kim, Se-Won;Yoo, Chuck
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.35 no.5
    • /
    • pp.223-230
    • /
    • 2008
  • Dynamic update of kernel can change kernel functionality and fix bugs in runtime. Dynamic update is important because it leverages availability, reliability and flexibility of kernel. An instruction-granularity update technique has been used for dynamic update. However, it is difficult to apply update technique for a commodity operating system kernel because development and maintenance of update code must be performed with assembly language. To overcome this difficulty, we design the function-granularity dynamic update system which uses high-level language such as C language. The proposed update system makes the development and execution of update convenient by providing the development environment for update code which is same for kernel development. We implement this system for Linux and demonstrate an example of update for EXT3 file system. The update was successfully executed.

Design and Implementation of a Network Programming Language (네트워크를 고려한 프로그래밍언어의 설계와 구현)

  • Won, Yu-Hun;Han, Tae-Suk
    • Journal of KIISE:Software and Applications
    • /
    • v.26 no.11
    • /
    • pp.1359-1371
    • /
    • 1999
  • 대규모 네트워크 상에서 동작하는 분산 시스템의 구현을 위해 제시된 방법 중의 하나인 이동 코드 개념은 네트워크 공유 자원에 접근할 수 있는 효과적인 방법을 제시하였고 이 개념을 지원하는 많은 언어들의 개발을 가져왔다. 개발된 언어들이 가지고 있는 이동 코드를 지원하기 위한 언어 구문과 적용하려는 문제 영역의 특성을 반영한 언어 구문은 네트워크 프로그래밍을 하는데 있어서 효율과 문제 중심의 프로그램의 두 가지를 모두 가능하게 하고 있다. 본 논문에서는 현재 분산 컴퓨팅 환경에서 가장 많이 사용되고 있는 클라이언트-서버 모델을 확장하여 서버의 자원에 접근할 수 있는 또 다른 방법을 가진 모델을 제시하고, 이 모델을 표현할 수 있는 언어를 설계하였다. 설계된 언어는 이동 코드의 개념을 지원함으로써 대규모 네트워크에서 수행되는 프로그램의 작성을 가능하게 하고, 분산 범위 규칙을 채택함으로써 이동 코드의 기술을 일반 함수를 기술하듯 명확한 관점에서 할 수 있도록 하였다. 또한 네트워크 관련 자원들을 언어 구문으로 채택하여 네트워크 프로그래밍을 언어 수준에서 할 수 있도록 하였다. 언어의 이론적인 설계에 그치지 않고 설계된 언어를 수행할 수 있는 실행 시간 지원 시스템을 구현하였다. 실행 시간 지원 시스템은 언어를 해석하고 실행하는 코드 해석기와 이동 코드를 지원하는 네트워크 감독으로 구성되며 설계된 언어를 사용하여 실제로 네트워크 응용 프로그램을 작성하고 테스트 해 볼 수 있다.Abstract Some studies bring up a concept of code mobility as an innovative way to access network resources in order to develop distributed systems working on a large scale network. After that, many languages are suggested to support this concept. In these languages, language constructors for their particular application domains and mobile codes provide both problem-oriented views to the programmer and reasonable performance to the system. In this thesis, we extend the client-server model that is the most popular model in developing distributed systems these days. We propose a model to have another method to access server's resources and extend the C language to implement the proposed model for the large scale network. The new language has capability to build a software working on a large scale network by supporting mobile code and gives a consistent network programming view to the programmer by adapting distributed semantics. The language also makes network programming easy by providing network primitives at the language level. We implement a prototype of run-time system to support this language. The run-time system is composed of two major parts: code-interpreter that interprets and executes the language and network-daemon that supports mobile codes.

A Design and Implementation of Functional Array for Improvement of the Traversal Time (탐색시간의 개선을 위한 함수형 배열의 설계 및 구현)

  • Ju, Hyeong-Seok;Yu, Won-Hui
    • The Transactions of the Korea Information Processing Society
    • /
    • v.3 no.5
    • /
    • pp.1262-1272
    • /
    • 1996
  • Pure functional languages have the referential transparency feature sothat all objects cannot be updated destuctively. Once an aggregated data structure such as array is updated, both the original and newly updated array must be preserved to maintain reverential transparency. Thus, it is required to develop an efficient mechanism with which can reduce the maintenance cost while maintaining referential transparency for whole data. This study is to suggest a functional array to solve the problem, and them test it. For that, the proposed mechanism was implemented on a combinator graph reduction machine. The result shows that proposed mechanism reduces traversal time for array operations. Also, updating all versions and accessing the recent version are achieved in constant time without reconstruction of updated data in execution time.

  • PDF

Detection of Potential Invalid Function Pointer Access Error based on Assembly Codes (어셈블리어 코드 기반의 Invalid Function Pointer Access Error 가능성 검출)

  • Kim, Hyun-Soo;Kim, Byeong-Man
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2010.05a
    • /
    • pp.938-941
    • /
    • 2010
  • Though a compiler checks memory errors, it is difficult for the compiler to detect function pointer errors in code level. Thus, in this paper, we propose a method for effectively detecting Invalid function pointer access errors, by analyzing assembly codes that are obtained by disassembling an executable file. To detect the errors, assembly codes in disassembled files are checked out based on the instruction transition diagrams which are constructed through analyzing normal usage patterns of function pointer access. When applying the proposed method to various programs having no compilation error, a total of about 500 potential errors including the ones of well-known open source programs such as Apache web server and PHP script interpreter are detected among 1 million lines of assembly codes corresponding to a total of about 10 thousand functions.

  • PDF

Discretization of Numerical Attributes and Approximate Reasoning by using Rough Membership Function) (러프 소속 함수를 이용한 수치 속성의 이산화와 근사 추론)

  • Kwon, Eun-Ah;Kim, Hong-Gi
    • Journal of KIISE:Databases
    • /
    • v.28 no.4
    • /
    • pp.545-557
    • /
    • 2001
  • In this paper we propose a hierarchical classification algorithm based on rough membership function which can reason a new object approximately. We use the fuzzy reasoning method that substitutes fuzzy membership value for linguistic uncertainty and reason approximately based on the composition of membership values of conditional sttributes Here we use the rough membership function instead of the fuzzy membership function It can reduce the process that the fuzzy algorithm using fuzzy membership function produces fuzzy rules In addition, we transform the information system to the understandable minimal decision information system In order to do we, study the discretization of continuous valued attributes and propose the discretization algorithm based on the rough membership function and the entropy of the information theory The test shows a good partition that produce the smaller decision system We experimented the IRIS data etc. using our proposed algorithm The experimental results with IRIS data shows 96%~98% rate of classification.

  • PDF

A Discourse Analysis of Middle School Students in Mathematical Modeling Teaching and Learning (수학적 모델링 교수·학습에서 중학생들의 담화 분석)

  • Chang, HyunSuk
    • Journal of the Korean School Mathematics Society
    • /
    • v.23 no.1
    • /
    • pp.45-65
    • /
    • 2020
  • This research is an analysis of communication that occurs during the quadratic function teaching and learning process of middle school students, which reflects mathematical modeling. For an in-depth analysis of the communication, Sfard(2008)'s discourse theory and language analysis framework were applied. A quadratic function mathematical modeling teaching and learning were conducted for the week second (1 hour) in June 2019 for students who studied the concept of a quadratic function and who passed a specified period (3 months). The results are as follows. First, The commo-gnitive conflict occurred because of differences in prior knowledge other than quadratic function among students. Second, in the course of communication, knowledge was expanded through problem-solving from different perspectives. These results can be interpreted as allowing students to clearly reveal problems in the communication process based on their understanding of the concept of quadratic functions and to facilitate cooperation among students. of the concept of quadratic functions and to facilitate cooperation among students.

A Study on the Computer-aided Control of the Blankholder Force in the Deep Drawing Process (딥드로잉에서의 소재누르기 힘의 컴퓨터제어에 관한 연구)

  • Song, Chang-Seop;Lee, Dae-Yong
    • Journal of the Korean Society for Precision Engineering
    • /
    • v.4 no.1
    • /
    • pp.74-82
    • /
    • 1987
  • 딥 드로오잉 시의 소재누르기판의 힘을 펀치의 변위 혹은 힘의 임의의 함수로서 제어 시킬 수 있는 서브프레스장치 및 유압장치를 제작하고 제어용 프로그램을 작성하여 시 험하였다. 제작한 장치를 인스트론 시험기에 설치하고 제어용 프로그램을 IBM퍼스널 컴퓨터를 사용하여 실행시킨 결과, 기계 제어 부분은 어셈블러언어로, 계산 부분은 고급 언어로 프로그램을 작성하여 링크시킨 후에 컴파일링하여 사용하는것이 제어의 응답성 및 정확도를 향상시킬 수 있음이 판명되었다. 또한, 소재누르기판의 힘의 제어에 필요한 이론 및 예비 결과들도 제시하였다.

  • PDF