• Title/Summary/Keyword: 메모리 효율적 알고리즘

Search Result 451, Processing Time 0.027 seconds

Efficient Flooding Methods for Link-state Routing Protocols (Link-state 라우팅 프로토콜을 위한 효율적인 플러딩 방법)

  • Kim, Jeong-Ho;Lee, Seung-Hwan;Rhee, Seung-Hyong
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.37B no.9
    • /
    • pp.760-766
    • /
    • 2012
  • In this paper, we propose an efficient flooding process on link-state routing protocol. It is possible to exchange information using typical link-state routing protocol; for example, OSPF(Open Short Path First) or IS-IS(Intermediate system routing protocol) that floods LSA between nodes when the network topology change occurs. However, while the scale of network is getting bigger, it affects the network extensibility because of the unnecessary LSA that causes the increasing utilization of CPU, memory and bandwidth. An existing algorithm based on the Minimum spanning tree has both network instability and inefficient flooding problem. So, we propose algorithm for efficient flooding while maintaining network stability. The simulation results show that the flooding of proposed algorithm is more efficient than existing algorithm.

FlaSim: A FTL Emulator using Linux Kernel Modules (FlaSim: 리눅스 커널 모듈을 이용한 FTL 에뮬레이터)

  • Choe, Hwa-Young;Kim, Sang-Hyun;Lee, Seoung-Won;Park, Sang-Won
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.11
    • /
    • pp.836-840
    • /
    • 2009
  • Many researchers have studied flash memory in order to replace hard disk storages. Many FTL algorithms have been proposed to overcome physical constraints of flash memory such as erase-before-write, wear leveling, and poor write performance. Therefore, these constraints should be considered for testing FTL algorithms and the performance evaluation of flash memory. As doing the experiments, we suffer from several problems with costs and settings in experimental configuration. When we, for example, replay the traces of Oracle to evaluate the I/O performance with flash memory, it is hard to extract exact traces of I/O operations in Oracle. Since there are only write operations in the log, it is impossible to gather read operations. In MySQL and SQLite, we can gather the read operations by changing I/O functions in the source codes. But it is not easy to search for the exact points about I/O and even if we can find out the points, we might get wrong results depending on how we modify source codes to get I/O traces. The FlaSim proposed in this paper removes the difficulties when we evaluate the performance of FTL algorithms and flash memory. Our Linux drivers emulate the flash memory as a hard disk. And we can easily obtain the usage statistics of flash memory such as the number of write, read, and erase operations. The FlaSim can be gracefully extended to support the additional modules implemented by novel algorithms and ideas. In this paper, we describe the structure of FTL emulator, development tools and operating methods. We expect this emulator to be helpful for many experiments and research with flash memory.

An Efficient Page Allocation and Garbage Collection Scheme for a NAND Flash Memory-based Multimedia File Systems (낸드 플래시 메모리 기반 멀티미디어 파일 시스템에서의 효율적인 페이지 할당 및 회수 기법)

  • Han, Jun-Yeong;Kim, Sung-Jo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.06b
    • /
    • pp.289-293
    • /
    • 2007
  • 낸드 플래시 메모리는 특성상 덮어 쓰기가 불가능하기 때문에 유효하지 않는 데이터가 저장된 더티(Dirty) 상태의 페이지를 삭제 연산을 통해 클린(Clean) 상태로 만든 후 데이터를 써야 한다. 더티 페이지가 낸드 플래시 메모리에 많이 존재하면 파일을 쓸 때 많은 블록을 삭제해야 하기 때문에 쓰기 지연 시간이 길어지는 문제가 발생한다. 따라서 본 논문에서는 일정한 쓰기 지연 시간을 보장하는 새로운 페이지 할당 및 회수 기법을 제안한다. 파일이 삭제될 때 더티 상태인 페이지를 삭제함으로써 클린 상태로 변경하여 낸드 플래시 메모리에 쓰기 지연 시간을 길게 만드는 더티 페이지가 없는 상태로 유지한다. 또한 삭제 연산은 블록 단위로 수행되므로 삭제할 블록의 유효한 페이지를 다른 블록으로 복사해야 하기 때문에, 페이지를 할당할 때 한 블록에 가급적 적은 개수의 파일을 저장하는 알고리즘을 제시한다.

  • PDF

An Efficient Integer Division Algorithm for High Speed FPGA (고속 FPGA 구현에 적합한 효율적인 정수 나눗셈 알고리즘)

  • Hong, Seung-Mo;Kim, Chong-Hoon
    • Journal of the Institute of Electronics Engineers of Korea TC
    • /
    • v.44 no.2
    • /
    • pp.62-68
    • /
    • 2007
  • This paper proposes an efficient integer division algorithm for high speed FPGAs' which support built-in RAMs' and multipliers. The integer division algorithm is iterative with RAM-based LUT and multipliers, which minimizes the usage of logic fabric and connection resources. Compared with some popular division algorithms such as division by subtraction or division by multiply-subtraction, the number of iteration is much smaller, so that very low latency can be achieved with pipelined implementations. We have implemented our algorithm in the Xilinx virtex-4 FPGA with VHDL coding and have achieved 300MSPS data rate in 17bit integer division. The algorithm used less than 1/6 of logic slices, 1/4 of the built-in multiply-accumulation units, and 1/3 of the latencies compared with other popular algorithms.

Programmable Memory BIST and BISR Using Flash Memory for Embedded Memory (내장 메모리를 위한 프로그램 가능한 자체 테스트와 플래시 메모리를 이용한 자가 복구 기술)

  • Hong, Won-Gi;Choi, Jung-Dai;Shim, Eun-Sung;Chang, Hoon
    • Journal of the Institute of Electronics Engineers of Korea SD
    • /
    • v.45 no.2
    • /
    • pp.69-81
    • /
    • 2008
  • The density of Memory has been increased by great challenge for memory technology, so elements of memory become smaller than before and the sensitivity to faults increases. As a result of these changes, memory testing becomes more complex. The number of storage elements is increased per chip, and the cost of test becomes more remarkable as the cost per transistor drops. Proposed design doesn't need to control from outside environment, because it integrates into memory. The proposed scheme supports the various memory testing algorithms. Consequently, the proposed one is more efficient in terms of test cost and test data to be applied. Moreover, we proposed a reallocation algorithm for faulty memory parts. It has an efficient reallocation scheme with row and column redundant memory. Previous reallocation information is obtained from faulty memory every each tests. However proposed scheme avoids to this problem. because onetime test result from reallocation information can save to flash memory. In this paper, a reallocation scheme has been increased efficiency because of using flash memory.

Micro Genetic Algorithm Methods for Graph Partition Problem (마이크로 유전자 알고리즘을 이용한 그래프 분할에 관한 연구)

  • Hwang, Tae-Woong;Han, Chi-Geun
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2010.07a
    • /
    • pp.429-432
    • /
    • 2010
  • 그래프 분할 문제는 각각의 가중치가 주어진 에지와 노드를 정해진 목적에 맞게 몇 개의 그룹으로 분할하는 문제이다. 이 문제는 휴리스틱 방법으로 해결되어져 왔으나, NP-hard 문제로 인한 지역 최적해에 빠지기 쉬운 단점을 갖는다. 유전자 알고리즘이 해결 방법으로 제시되고 있는 가운데 단순 유전자 알고리즘에서 초기의 모집단 메모리(population memory)를 이용하여 적은 크기의 모집단을 생성하고 외부메모리에 최적해들을 저장하고 있어 GA의 효율성을 높이며, 다수의 지역 최적해에 빠지지 않게 하며 수렴 속도를 향상시키는 마이크로 유전자 알고리즘을 적용한다. ${\mu}$-GA를 통해 본 논문에서는 클러스터들의 가중치를 비교적 동일하게 하는 GPP를 해결하고자 한다.

  • PDF

Memory-Efficient Implementation of Ultra-Lightweight Block Cipher Algorithm CHAM on Low-End 8-Bit AVR Processors (저사양 8-bit AVR 프로세서 상에서의 초경량 블록 암호 알고리즘 CHAM 메모리 최적화 구현)

  • Seo, Hwajeong
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.3
    • /
    • pp.545-550
    • /
    • 2018
  • Ultra-lightweight block cipher CHAM, consisting of simple addition, rotation, and eXclusive-or operations, enables the efficient implementations over both low-end and high-end Internet of Things (IoT) platforms. In particular, the CHAM block cipher targets the enhanced computational performance for the low-end IoT platforms. In this paper, we introduce the efficient implementation techniques to minimize the memory consumption and optimize the execution timing over 8-bit AVR IoT platforms. To achieve the higher performance, we exploit the partly iterated expression and arrange the memory alignment. Furthermore, we exploit the optimal number of register and data update. Finally, we achieve the high RANK parameters including 29.9, 18.0, and 13.4 for CHAM 64/128, 128/128, and 128/256, respectively. These are the best implementation results in existing block ciphers.

An Effective Multicast Routing Protocol in Wireless Sensor Network (무선 센서 네트워크에서 효율적인 멀티캐스트 라우팅 프로토콜)

  • Jang, Dong-Seob;Joe, In-Whee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.05a
    • /
    • pp.837-840
    • /
    • 2008
  • 초기 센서 네트워크의 라우팅 프로토콜은 데이터를 수집하는 업링크 위주의 알고리즘이었다. 그러나 최근에는 특정 노드를 제어하기 위해 토폴로지 정보를 관리하고, 이를 바탕으로 하는다운링크 알고리즘이 연구되고 있다. 또한 동시에 다수의 노드에게 질의를 전송하는 멀티캐스트 알고리즘의 필요성이 대두되고 있으나 현재까지 센서 네트워크에 적용할 만한 멀티캐스트 라우팅 프로토콜은 거의 전무한 실정이다. 본 논문에서는 비교적 리소스 제한이 적은 게이트웨이나 싱크에서만 관리하던 라우팅 테이블을 메모리가 작은 일반 센서 노드에서도 관리할 수 있게 충분이 작은 비트맵형 라우팅 테이블의 구성을 제안하고, 이를 이용하여 효율적인유니캐스트 및멀티캐스트 라우팅 프로토콜을 제안한다. 제안된 프로토콜은 멀티캐스트상황에서 불필요한 포워딩을 제거함으로써 네트워크 내의 패킷 발생량을 최소화시켜 주는 매우 효율적인 방식이다. 또한 라우팅 테이블의 유지 및 관리가 수월하여 센서 노드에서의 데이터 처리 부담을 줄였다.

A study on the efficient system call interface supporting minimum memory copy (메모리 복사를 최소화 하는 효율적인 시스템 호출 인터페이스에 관한 연구)

  • Song, Chang-Yong;Kim, Eun-Gi
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11b
    • /
    • pp.1097-1100
    • /
    • 2003
  • UNIX/LINUX 시스템에서 로컬 파일 시스템의 파일 데이터가 네트워크를 통해서 원격지 시스템에 전송되는 경우, 사용자와 커널(Kernel) 공간 사이에서의 메모리 복사가 적어도 2 회에 걸쳐 수행된다. 이러한 사용자와 리눅스(Linux) 커널 공간 사이에서 이루어지는 메모리 복사는 데이터 전송에 소요되는 시간을 증가시키고, 잦은 시스템 호출의 호출은 응용 프로세스와 리눅스 커널 간 문맥 교환(context switching)의 발생을 빈번하게 야기한다. 본 연구에서는 이러한 문제점들을 해결하기 위하여 필요한 경우 사용자와 리눅스 커널 사이에서의 메모리 복사를 수행하지 않고, 커널 공간 내에서의 메모리 복사를 최대한 제한할 수 있는 새로운 알고리즘을 제시한다.

  • PDF

A Study for the Efficient Memory Management in time of using Cross Compiler (크로스 컴파일러에서의 효율적인 메모리 사용 기법에 대한 연구)

  • Kyong, Bo-Hyun;Jeon, Seung-Hun
    • Proceedings of the KIEE Conference
    • /
    • 2003.11c
    • /
    • pp.641-644
    • /
    • 2003
  • 본 논문은 RTOS(Real-Time Operation System, 리턴어드레스를 위한 유저스택사용 RTOS가 탑재된 CE(Consumer Electronic)제품상에서 리턴어드레스가 유저스택으로 저장하는 것을 지원하지 않는 컴파일러를 위한 알고리즘이며 실험을 위하여 제안된 알고리즘을 상용 컴파일러에 적용하여 비교해보도록 하겠다. 우선 기존 컴파일러 알고리즘으로는 Task마다 할당된 유저스택영역이 존재하며 Task가 수행중 발생된 리턴어드레스는 즉시 할당된 유저스택으로 저장하는 알고리즘을 갖고있다. 이런 알고리즘으로 인하여 인스트럭션이 수행중 빈번한 메모리 접근(external memory)가 발생한다. 그러나 제안된 알고리즘은 Task 수행중에는 리턴어드레스를 시스템스택(internal memory)에 저장한 후 Task 전환이 발생할 경우 일시에 시스템 스택에 저장된 리턴어드레스를 유저스택으로 이동하게 되므로 Task 수행중에는 시스템 스택만을 접근하므로 task의 수행시간을 단축할 수가 있다. 그리고 실험을 위하여 상용 컴파일러들에 본 알고리즘을 적용하였다. 상용 컴파일러로는 매번 리턴어드레스를 자동으로 Task별 할당된 유저스택에 저장할 수 있도록 지원해주는 TASKING 컴파일러(Altium 사)와 그렇지 않은 KEIL컴파일러(KEIL사)가 있으며 본 알고리즘을 KEIL 컴파일러에 적용하여 실험을 하여 TASKING 컴파일러와 비교한 결과 유저스택을 지원하는 TASKING(Altium사) 컴파일러에서 구현한 CE제품의 Response time이 KEIL 컴파일러에서 구현한 CE제품의 Response time 값이 같게 나왔다. 그러므로 KEIL 컴파일러상에 본 알고리즘을 적용시킬 경우 RTOS가 탑재된 CE제품을 보다 용이하게 구현할 수가 있다.

  • PDF